A textbook on the functional programming language Haskell, with all concepts are explained from first principles via carefully chosen examples.