Haskell
The Craft of Functional Programming

Simon Thompson

Overview


Named in honour of Haskell Curry, whose work has had a profound influence on functional programming, the Haskell language is growing rapidly in popularity - especially as a vehicle to teach introductory programming concepts. This book introduces Haskell at a level appropriate for those with little or no prior experience of functional programming. The emphasis throughout is on crafting programs, solving problems and avoiding common pitfalls. In three parts the book

Amongst its features are Haskell systems

Contents

Basic Functional Programming:

Introducing functional programming. Basic types and simple programs. Reasoning about programs. Data structures: Lists. Reasoning about lists.

Abstraction:

Generalization. Functions as values. Classes in Haskell. Checking types.

Larger-Scale Programming:

Algebraic types. Case Study: Huffman codes. Abstract data types. Lazy programming. Input/Output and interaction. Program behaviour.

Appendices:

A: Functional and imperative programming. B: Further reading. C: Glossary. D: Understanding programs. E: Haskell operators. F: Implementations of Haskell. G: Gofer and Hugs errors. H: Some useful functions. Bibliography.

© Simon Thompson, 1996.

Last modified 16 July 1996.