From the Author
Web site for Haskell text
More details about the book can be found at http://www.ukc.ac.uk/computer_science/Haskell_craft/ and I can be mailed at S.J.Thompson@ukc.ac.uk
From the Back Cover
Named in honor 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
- first builds a foundation, focusing on programming basic types and lists, using first-order, non-polymorphic programs
- then looks at the three ideas of higher-order functions, polymorphism and type classes, which together give modern functional programming its distinctive flavour and power
- finally discusses larger-scale programming, supported by an exploration of user-defined types, modules, lazy evaluation and IO programming using monads.
- An analysis of program behavior and efficiency
- A strong emphasis on software engineering and problem-solving techniques
- An optional thread on proving that programs have the properties required of them which runs through the text
- Software modification and re-use are emphasised in the discussion of design issues
- Design advice is supplemented with examples and case studies of varying size and complexity
- Appendices contain support material of various kinds - pointers to sites from which implementations of Haskell and Gofer can be obtained; common error messages; a glossary of programming terms; functions from parts of the Haskell standard preludes
- Over 400 exercises of varying difficulty