Introduction

Basics

Lists

Data type definition

Modularity

Parametric polymorphism

Dependent types

Ad-hoc polymorphism

Laziness and codata

I/O

Functors

Monads

Applicative

Logic and types

More about types

Extending the syntax