
Thanks, that was helpful. I didn't realize that there were pure functional monads. ---------------------------------------------------------- "Monadic" just means a calculation using a mathematical structure called a monad. All impure calculations in Haskell are monadic, but not all monadic calculations are impure. Does this answer your question? --Eric _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ____________________________________________________________________________________ Be a better Globetrotter. Get better travel answers from someone who knows. Yahoo! Answers - Check it out. http://answers.yahoo.com/dir/?link=list&sid=396545469

On Sunday 01 July 2007 09:34, Gregory Propf wrote:
Thanks, that was helpful. I didn't realize that there were pure functional monads.
Neither did i; the general impression i'd got after almost a year of trying to learn Haskell was: "Monad Eisley Spaceport. You will never find a more wretched hive of sequencing and impurity. We must be cautious." :-) Alexis.

Gregory Propf wrote:
Thanks, that was helpful. I didn't realize that there were pure functional monads.
Actually, it's stronger than that. All monads are pure functional, even IO. Haskell is an entirely 100% pure functional language[*]. The IO monad allows you to build up, in a pure, referentially transparent way, an object call an 'IO action' which you have no way of actually executing, per se. Fortunately, this isn't as useless as it sounds since the runtime system contains the support to "actually run" the special IO action called 'main', which bootstraps the whole setup. Jules [*] non-functions like unsafePerformIO are not technically part of the haskell language!
participants (3)
-
Alexis Hazell
-
Gregory Propf
-
Jules Bean