On 14/08/07, Ronald Guida <[EMAIL PROTECTED]> wrote: > My present goal is to understand monads well enough to be able to > explain them to others. I wonder if it's possible to create a > tutorial that explains monads well enough so that they just "make > sense" or "click" for people.
It seems everyone wants to do this, with not much success! :-( >From reading this thread (piecemeal rather than in one concentrated session) I get the impression that no-one agrees on what, if anything, a monad is. If there were a wiki page What_Is_A_Monad and all these ideas were whittled down whenever a counter-proof (such as Identity or Reader) were raised --- what would be left? I get the impression it would look like this: > (return x) >>= f == f x > m >>= return == m > (m >>= f) >>= g == m >>= (\x -> f x >>= g) And then where would we be? ;-) I say all this from the point of view of someone who has a reasonably robust intuitive idea of monads that still fails to encompass the List monad. I too would like to understand the overall idea to this monad malarkey... Cheers, D. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe