1. Why functional programming? Why Haskell?
2. Getting started
3. Types and functions
4. Defining types, streamlining functions
5. Functional programming
6. Writing a library
7. Using typeclasses
8. Input and output
9. Case study: regular expressions and file name matching
10. I/O case study: a library for searching the filesystem
11. Code case study: parsing a binary data format
14. Data structures
15. Monads
16. Programming with monads
17. Monad transformers
22. Working with databases
B. Installing GHC
C. Characters, strings, and escaping rules
D. Web site and comment system usage and policies