
Hallo,
On 8/14/07, Jeff Polakow
Hello,
There is clearly a problem with the Haskell/monad tutorials out there...
The tutorials seriously need to step back and start with something like, "To enforce order of evaluation we evaluate closures* returning a defined type. The first closure will feed its result to the second which will in turn feed it's result to the third. Since the third closure can't be evaluated without having the results from the second and first (and thus they had to be evaluated earlier in time) we get a defined evaluation sequence. Here are some examples..."
The style of this description is nice; however the description itself is wrong.
Monads DO NOT determine order of evaluation. Previous posts on this thread give several examples.
And his point was completely missed. Cheers, -- -alex http://www.ventonegro.org/