I like the tutorial very much! Thank you! And I like the final words, which I think brings to the point the whole discussion about Haskell vs. Imperative languages:<p><pre><code> [..] Because the physical world changes only slightly
from moment to moment, it means that languages that
can comfortably mutate large data structures in targeted
ways will always have a role to play in real-world
software- The "real world" usually just doesn't work the
way Haskell, and other functional languages would prefer
it did: Haskell preferred that at every moment in time, a
"new universe" would look at the "old universe" and would
rebuild itself, from scratch, from what it saw in the
past, with radical changes happening all the time.
Despite its many advantages, I humbly suggest, therefore,
that in the future there will continue to be a rift
between the "imperative" and "functional" camps of
programming, until someone comes up with a truly robust
way of uniting these two camps- And I think that some
profound programming discoveries still need to be made in
the future before this problem is really resolved- I get
the feeling it's just not good enough to wave at the
problem and say "Monads".</code></pre>