
On 12/11/06, Paul Hudak
Hi Sebastian. As a writer of one of those "academic" Haskell textbooks, I've been following this thread with some interest. In fact, I agree with pretty much everything that's been said. But I must point out that, even though Chapter 18 in SOE is titled "Higher Order Types", and that's where I introduce the Monad class, I actually introduce IO in Chapter 3 -- page 36 in a 363 page textbook to be more precise. In fact, I do exactly as you suggest -- introduce IO early in a way that most imperative programmers are familiar with, and then expose the beauty and generality of monads much later -- i.e. in Chapter 18.
I don't know if you were referring to SOE when you said Chapter 18, but I thought that I should point out the coincidence, at least, if that's what it is! :-)
Heh, that really was a coincidence. Honest! I must confess I've only briefly leafed through your book at the library (the motivation to buy beginner's text books disappears after you've gone through one or two of them), but I always did like the concept in it of teaching through something more "fun" like multimedia. I wonder if a similar "theme" is apropriate for proposed book. Graphics and sounds give a very direct feedback to the programmer, and I expect that helps with the motivation. Perhaps a single largish application could be the "end product" of the book. Like a game or something. You'd start off with some examples early on, and then as quickly as possible start working on the low level utility functions for the game, moving on to more and more complex things as the book progresses. You'd inevitably have to deal with things like performance and other "real world" tasks. It might be difficult to find something which would work well, though. -- Sebastian Sylvan +46(0)736-818655 UIN: 44640862