| 1. Einführung |
| 2. Grundlegende Sprachkonzepte |
| | 2.1 Programmstruktur und Notation |
| | | 2.1.1 Allgemeines |
| | | 2.1.2 Typ- und Funktionsdeklarationen |
| | | 2.1.3 Currifizierte Funktionen |
| | | 2.1.4 Funktionen und Operatoren |
| | | 2.1.5 Kommentare und Layout |
| | | 2.1.1 Allgemeines |
| | 2.2 Typen und Funktionen |
| | | 2.2.1 Tupel, Listen und Funktionen als Typen |
| | | 2.2.2 Polymorphe Typen |
| | | 2.2.3 Definition eigener Typen |
| | | 2.2.4 Typenklassen |
| | | 2.2.5 Lambda Funktionen |
| 3. Pattern Matching und verzögerte Auswertung |
| | 3.1 Grundlagen des Pattern Matching |
| | 3.2 As-Patterns und Wildcards |
| | 3.3 Lazy Evaluation und Lazy Patterns |
| 4. Monaten und I/O |
| | 4.1 Grundkonzept der Monaden |
| | 4.2 Das I/O System von Haskell |
| | 4.3 Haskell und imperative Programmierung |
| 5. Hinweise |
| Literatur |