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