Talk:A brief introduction to Haskell
To treat side effects and monads, I have make two decisions.
The first is to describe specifically IO first, and monads in general later. By going from the special to the general, the mental gap is smaller, the motivation is self-evident, and there is no need for the usual hot air about "sequencing computation" in the undefined void.
The second is to put them in two sections. The IO monad is rich enough in its own right to deserve a section, and the non-IO monads in the library are also rich enough to deserve a section. (Thus for example the monad section may be extended to reader, writer, error, continuation, etc., in the future. A combined IO-and-monad section would not be cohesive for this.)
--Treblacy 10:10, 9 December 2006 (UTC)