Proposal for Presentation: A window into monads

17 views
Skip to first unread message

Patrick O'Neill

unread,
Jan 26, 2012, 9:00:23 PM1/26/12
to balti...@googlegroups.com
In the last twenty years, monads have found broad application in many topics in programming languages.  Despite its (alleged) utility, however, monadic programming is widely reputed to be difficult and abstruse.  This perceived difficulty has encouraged a cottage industry in monad tutorials, variously comparing monads to burritos, spacesuits, boxes, amorous lovers, monsters, elephants and Bedouins.  Disturbingly, it has become obligatory to begin monad tutorials by lamenting the proliferation of monad tutorials and announcing one's intention to solve the problem by writing the one true monad tutorial.  (The result, of course, is N+1 monad tutorials.)  The compulsion to write monad tutorials is so widespread (approximately 50 confirmed sightings as of 2012) that it is actually referred to as "the monad tutorial fallacy".

How did we get here?  How could there be such widespread difference in intuitions about monads?  I claim that it is precisely because monadic structures are so pervasive in computation that it is so difficult to offer canonical analogies, and so confusing see what essential similarities they share.  For that reason, the aim of this talk is to introduce monads strictly from definitions and worked examples.  By the end, you should understand what a monad is, why they're used, and how to derive your own. 

This talk is pitched at the level of someone who thinks that attending a talk about functional programming sounds like a good idea  I.e. it will probably be helpful to have some intuitive grasp of the lambda calculus.  Code examples will be given in Haskell, but it is not necessary that you know the language.  In fact, part of the fun will be to derive parts of Haskell syntax from scratch, so there's no need to know it in advance.

Gary Trakhman

unread,
Jan 27, 2012, 9:09:27 AM1/27/12
to balti...@googlegroups.com
This sounds pretty badass

Alex

unread,
Feb 6, 2012, 3:09:48 PM2/6/12
to Baltimore Functional Programming
I'd like to see this one, maybe I can finally get monads.

Gary Trakhman

unread,
Feb 28, 2012, 1:12:59 PM2/28/12
to balti...@googlegroups.com
Patrick, do you think you could do this talk for next week?

Patrick O'Neill

unread,
Feb 28, 2012, 3:46:17 PM2/28/12
to balti...@googlegroups.com
Sure.  7pm on Wednesday, right? 

Gary Trakhman

unread,
Feb 28, 2012, 3:56:47 PM2/28/12
to balti...@googlegroups.com
We've been doing 7:30, I don't know if moving it down to 7 would make
a difference to anyone positively or negatively? But it would be fine
by me.

Patrick O'Neill

unread,
Feb 28, 2012, 5:37:16 PM2/28/12
to balti...@googlegroups.com
7:30's fine for me too.  It's probably better to keep it consistent, unless folks have specific logistic constraints. 

Gary Trakhman

unread,
Feb 28, 2012, 5:41:22 PM2/28/12
to balti...@googlegroups.com
Ok, we'll do 7:30 this time. I've been meaning to set up a poll
anyway for beer night convenience's sake, I can add this as one of the
items.

John Szakmeister

unread,
Mar 5, 2012, 6:35:30 AM3/5/12
to balti...@googlegroups.com
On Tue, Feb 28, 2012 at 5:37 PM, Patrick O'Neill <po...@umbc.edu> wrote:
> 7:30's fine for me too.  It's probably better to keep it consistent, unless
> folks have specific logistic constraints.

Looking forward to your talk Patrick!

-John

Gary Trakhman

unread,
Mar 5, 2012, 8:48:34 AM3/5/12
to balti...@googlegroups.com

Just a reminder, planning on next Wednesday, not this week. I'll get a proper announcement out tomorrow.

Patrick O'Neill

unread,
Mar 7, 2012, 12:06:13 AM3/7/12
to balti...@googlegroups.com
Thanks John, I'm looking forward to giving it.

Gary Trakhman

unread,
Mar 13, 2012, 10:25:12 PM3/13/12
to balti...@googlegroups.com
Hey, do you need any video hookups?

Patrick O'Neill

unread,
Mar 13, 2012, 10:37:01 PM3/13/12
to balti...@googlegroups.com
Yeah, it's just the standard monitor cable.  VGA, I think?

John Szakmeister

unread,
Mar 15, 2012, 6:10:18 AM3/15/12
to balti...@googlegroups.com
On Thu, Jan 26, 2012 at 9:00 PM, Patrick O'Neill <po...@umbc.edu> wrote:
[snip]

> This talk is pitched at the level of someone who thinks that attending a
> talk about functional programming sounds like a good idea  I.e. it will
> probably be helpful to have some intuitive grasp of the lambda calculus.
> Code examples will be given in Haskell, but it is not necessary that you
> know the language.  In fact, part of the fun will be to derive parts of
> Haskell syntax from scratch, so there's no need to know it in advance.

Thanks for giving this talk Patrick! It was enlightening!

-John

Reply all
Reply to author
Forward
0 new messages