[Haskell-cafe] Explaining monads

Gregory Propf gregorypropf at yahoo.com
Mon Aug 13 20:16:36 EDT 2007

I made this mistake myself at first too.  It seems that the Monad = "side effect machine" error is common to Haskell newbies.  Probably to do with the fact that the first thing every programmer wants to do is write a hello world program and for that you need the IO Monad which requires some explanation of how a Monad can allow for side effects (at least the IO Monad). - Greg

----- Original Message ----
From: peterv <bf3 at telenet.be>
To: Kim-Ee Yeoh <a.biurvOir4 at asuhan.com>; haskell-cafe at haskell.org
Sent: Monday, August 13, 2007 10:31:48 AM
Subject: RE: [Haskell-cafe] Explaining monads

Ronald Guida wrote:
> Given the question "What is a Monad", I would have to say "A Monad is
> a device for sequencing side-effects."

There are side-effects and there are side-effects. If the only
monad you use is Maybe, the only side-effect you get is a slight
warming of the CPU.


"Side-effects" is a piece of linguistic cruft played fast-and-loose
by too many people in this game. "Sequencing" suffers the same 


Sick sense of humor? Visit Yahoo! TV's 
Comedy with an Edge to see what's on, when. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070813/8ce02e1a/attachment.htm

More information about the Haskell-Cafe mailing list