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. ____________________________________________________________________________________ Sick sense of humor? Visit Yahoo! TV's Comedy with an Edge to see what's on, when. http://tv.yahoo.com/collections/222