It's true that this is the typical way of learning Haskell, but I for
one think it's a bad way of learning Haskell.
Very few real world programs get by without the "impure" stuff, so if
you give the newbie the impression that it isn't there (by postponing
it) there's a chance he'll run into a situation where he needs it
before it's been even mentioned (queue newbie going "bah, academic
language" and switching to C++).
On the contrary, I think it's an excellent way of learning Haskell.
I'm writing a lot of useful Haskell code with only one IO action
(interact). I don't think I could reasonably construct an
introductory problem that couldn't be solved with it, and I haven't
yet found an application for which I've needed more. I think it's
destructive to teach people "we have a wonderful new paradigm of
programming that solves all sorts of problems, but all we're going to
use it for is doing what we did with C++ anyway".
That's just my 2ยข -- I like Haskell specifically because I don't have
to do things in order and I don't have to do things in an imperative
style, I would love for more people to be taught about this wonderful
thing.
Bob
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe