[Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

Sebastian Sylvan sylvan at student.chalmers.se
Mon Dec 11 18:09:50 EST 2006

On 12/11/06, Paul Hudak <paul.hudak at yale.edu> wrote:
>  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

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
UIN: 44640862

More information about the Haskell-Cafe mailing list