The second edition of Haskell: The Craft of Functional Programming is essential reading for beginners to functional programming and newcomers to the Haskell programming language. The emphasis is on the process of crafting programs and the text contains many examples and running case studies, as well as advice an program design, testing, problem solving and how to avoid common pitfalls.
Building on the strengths of the first edition, the book includes many new and improved features:
Complete coverage of Haskell 98, the standard version of Haskell which will be stable and supported by implementations for years to come.
An emphasis on software engineering principles, encouraging a disciplined approach to building reusable libraries of software components.
Detailed coverage of the Hugs interpreter with an appendix covering other implementations.
A running case study of pictures emphasizes the built-in functions which appear in the standard prelude and libraries. It is also used to give an early preview of some of the more complex language features, such as high-order functions.
List comprehensions and the standard functions over lists are covered before recursion.
Early coverage of polymorphism supporting the "toolkit" approach and encouraging the resuse of built-in functions and types.
Extensive reference material containing details of further reading in books, journals and on the World Wide Web.
Accompanying Web Site supporting the book, containing all the program code, further teaching materials and other useful resources.