ANNOUNCE: Draft TOC of Haskell in a Nutshell

Manuel M. T. Chakravarty chak@cse.unsw.edu.au
Tue, 09 Jan 2001 13:43:59 +1100


Brook Conner <nellardo@concentric.net> wrote,

> You can find it in PDF form at 
> http://nellardo.com/lang/haskell/hianTOC.pdf (it should have the fonts 
> embedded - OReilly uses a couple of oddballs) and in ASCII text at 
> http://nellardo.com/lang/haskell/haskell-in-a-nutshellTOC.txt.

Makes sense to me.  However, I would move IO further to the
front.  For any "real life" programming, IO is essential
and, I think, it is bad for the image of Haskell to treat it
as something dirty that is relegated to end of every (at
least, many) introduction of Haskell.

I have just given an Introduction to Computing course using
Haskell and written a set of lecture notes, which introduce
a couple of concepts (including IO) differently than
commonly done.  The whole stuff is at

  http://www.cse.unsw.edu.au/~cs1011/lectures/index.html

Feel free to get inspiration from the material (except Weeks
8 - 10, which weren't given by me).  You will find IO in
Week 5.  Note that I haven't used the word monad a single
time.  IMHO, monads are an advanced concept, IO is not.
It's like you can introduce recursion without discussing
stacks.  If you understand stacks, you can gain a deeper
understanding of recursion, but if you hear about recursion
for the first time, the mention of stacks will only distract
the average student.

> The middle part is a bit different - a short "cookbook" of 
> semi-practical programs addressing fairly common programming tasks - 
> some of the kinds of things you'd typically do with Perl or C++. I think 
> it needs more "recipes" of course, but I'd like to know if the general 
> idea is working.

I think, that this is a good idea.

Cheers,
Manuel