-----Original Message----- From: Keith Wansbrough <[EMAIL PROTECTED]> To: Ted Carroll <[EMAIL PROTECTED]> Cc: Mark P Jones <[EMAIL PROTECTED]>; [EMAIL PROTECTED] <[EMAIL PROTECTED]>; [EMAIL PROTECTED] <[EMAIL PROTECTED]> Date: 23 August 1999 14:38 Subject: Re: Licenses and Libraries >[..] >> Ted C. >> >> P.S. If somebody could explain Monads in plain english it might not >> hurt either. > >Someone already has: > >http://www.dcs.gla.ac.uk/~nww/Monad.html > >--KW 8-) Yes, that text is not bad, but I think it still has a problem (one I found in two or three other introductory texts of monads): it stops right before getting really interesting! The examples are probably well thought out, but they are either just toy stuff or they are to special. There are so many questions still open: how to declare an instance of the 'Monad' class (for using 'do'-constructs) combined with a plain state-monad, for example. The standard-prelude doesn't really contain any good examples. 'IO' is too abstract to be of any use. Yes, I can figure all that out (and I do, with some work) but most certainly someone else already did that. Don't get me wrong here: I think Haskell is the culmination of decades of Programming- Language reasearch, but, coming from the LISP direction, I really have trouble to adapt to the totally different terminology found in functional programming. Everything just looks so darn complicated - even if you are basically just doing the same thing: CONS, APPLY, and LAMBDA. felix P.S.: Can someone point me to a good book on functional programming ? One which doesn't bore you with trivialities, but comes right to the point and explains everything with real-world examples ? Just the one book specially written for a stupid LISPer with bad grades in mathematics, like me ? :-)