Latest update Sep 7, 2000
To avoid spam, all mail addresses on this page have the "@" replaced by "#".
Important parts of the books are marked important. Less important parts are marked less important.
Note that the main course book is intended to be an undergraduate text. Its main aim is not to teach Haskell, or even functional programming, but to teach programming methodology in general. Some of the chapters are thus devoted more to general issues, which should already be well-known to the prospective student. Since this is a course on modern functional programming languages and not on programming methodology, these chapters are typically labeled less important. The directions also presume that you already have some familiarity with important concepts such as recursion and types.
Chapter 1: less important (of introductory nature, read to get the general ideas).
Chapter 2: 2.1-2.4 important, 2.5, 2.6 less important.
Chapter 3: important.
Chapter 4: less important.
Chapter 5: important.
Chapter 6: 6.1-6.2 less important. Rest of chapter important.
Chapter 7: important.
Chapter 8: important.
Chapter 9: important.
Chapter 10: 10.1-10.4 important. 10.5 less important. Rest of chapter important.
Chapter 11: less important.
Chapter 12: important.
Chapter 13: important.
Chapter 14: important.
Chapter 15: 15.1 important. Rest of chapter less important (however, interesting to see as an example of how to build functional software).
Chapter 16: important. (It is not necessary to study all the examples in detail, but you should at least penetrate some of them).
Chapter 17: important.
Chapter 18: important.
Chapter 19: less important.
Chapter 20: less important.
Appendices: less important (but sometimes convenient to have for reference purposes).
Chapter 8: less important. (Read as an orientation about graph reduction. There are no examination assignments on this chapter.)
Chapter 10: important.
Björn Lisper