This is the home page for the Haskell track of CS 11. This information is for the Fall 2011 term.
All the administrative information for the Haskell track is on this page.
Current grades for all students are recorded on csman.
I have a separate page on Haskell books and papers that you should be aware of. It's mostly going to be useful after you finish this track, because it contains links to more advanced material.
The Haskell home page is at www.haskell.org. The definition of the language and its libraries is here. There is a lot of tutorial material linked from this page. Also check out the Short introduction to Haskell for an excellent overview of the language.
The primary reference for this track will be the Gentle Introduction to Haskell. Despite the name, it's not that gentle (except perhaps in the sense that Ex-Lax is gentle), but it will get you up to speed on the language quickly.
There are several excellent textbooks on Haskell aimed at beginners that I recommend. These include:
Programming in Haskell by Graham Hutton, which is a good introduction for absolute beginners.
The Haskell School of Expression by Paul Hudak, which uses multimedia programs as a way of motivating the study of Haskell.
Haskell: the Craft of Functional Programming by Simon Thompson, which is a more orthodox approach.
Introduction to Functional Programming using Haskell by Richard Bird. This book is more theoretically-oriented than the first two and less gentle (and more expensive!), but if you can handle it, it will get you up to speed on the language much faster.
A really useful book on functional data structures is Chris Okasaki's Purely Functional Data Structures, which you may be able to take out from the library (or buy, if you're really keen). Although the code examples are in Standard ML, Haskell translations of the code are included in the book.
A great book for learning about functional programming, geared towards novice programmers, is Abelson and Sussman's Structure and Interpretation of Computer Programs. It uses the Scheme programming language, which is much simpler than Haskell. The book (available online for free) is a great way to prepare yourself for learning Haskell. The first two chapters cover functional programming is considerable detail.
The Glasgow Haskell Compiler. This is the Haskell compiler we'll be using, and it also contains an interpreter.
A tour of the Haskell Prelude. This is useful for looking up prelude functions. You'll find out all about these as we go along, but basically they're library functions that are built-in. See also this link and this one.
A great monad tutorial is Yet Another Monad Tutorial by yours truly ;-)