Alistair, Hhhmmm. That is an interesting issue, and I am unsure how to treat it in the tutorial. I did attempt to explain the ability of the monad to isolate impure computations, but I think I need to make a better explanation of what an action is and how it is used.
As for the question of whether using a monad in this way casts Haskell out of the ranks of the functionally pure, I don't know. This feels to me like a debate over personal interpretation, with decent arguments on both sides. I think the most accurate thing to say is that it enables Haskell to incorporate non-pure features without destroying the purity of the core of the language. Any suggestions for how best to present this issue to a reader who may be new to the world of FP? Should we mention it at all? Thanks, Jeff Alistair Bayley wrote: > Thanks. Quite comprehensive. > > Peter Van Roy (the Mozart/Oz guy) said this on the PragProg list, and > I didn't have the knowledge to respond. It's a point you might want to > address, perhaps in this section?: > http://www.nomaware.com/monads/html/laws.html#nowayout > > [Discussion of whether I/O monad makes Haskell impure] -- Jeff Newbern <[EMAIL PROTECTED]> Nomaware, Inc. _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe