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@telenet.be>
To: Kim-Ee Yeoh <a.biurvOir4@asuhan.com>; haskell-cafe@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
disease.



Choose the right car based on your needs. Check out Yahoo! Autos new Car Finder tool.