
<noise> The truth is, Haskell friggen rocks at IO compared to imperative languages. We are all spoiled and see IO in haskell as ugly because we have been exposed to the pure functional goodness of the rest of haskell. but teaching haskell as a better impertive language than imperative ones from the getgo seems like a very good approach for bringing people over. Just the idea that you can write things like mapM and replicateM is enough to blow the mind of many impertive programmers. They don't need to be forced to learn the pure functional side, they will eventually learn to do so on their own because it is so darn nice. You can't not start with IO for people who already know how to program, if you are teaching someone programming for the very first time then starting with the pure functional side is fine. But for people that already know how to program, they are constantly thinking of everything else they have written and how they might do it in the language they are currently learning comparing and contrasting in their head. They need to have the tools to replicate what they have done with other languages right away, they don't want to know how to do the examples given in the book except insofar as they let them understand how to write the examples wiggling around in their head. </noise> John -- John Meacham - ⑆repetae.net⑆john⑈