Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Programming in Haskell
[go: Go Back, main page]

Last updated on 4th March 2008

Ordering; Description; Reviews; Slides; Code; Instructors; Errata.


Book Cover

Programming in Haskell

Graham Hutton, University of Nottingham
Cambridge University Press, 2007

Paperback: £23.99 / $45.00 (ISBN-13: 9780521692694 | ISBN-10: 0521692695)
Hardback: £60.00 / $115.00 (ISBN-13: 9780521871723 | ISBN-10: 0521871727)
eBook: $36.00 (ISBN-13: 9780511292187 | ISBN-10: 051129218X)

Copies can be ordered from any book retailer, such as Cambridge, Amazon, Powells, Barnes and Noble, or eBooks. In the UK, it is available from Cambridge, Amazon, Blackwells, Waterstones, Play, and even Tesco! Ordering the book via either of the preceeding referral links to Amazon gives a higher return to the author, for the same price to the purchaser.


Description

Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs. This introduction is ideal for beginners: it requires no previous programming experience and all concepts are explained from first principles via carefully chosen examples. Each chapter includes exercises that range from the straightforward to extended projects, plus suggestions for further reading on more advanced topics. The author is a leading Haskell researcher and instructor, well-known for his teaching skills. The presentation is clear and simple, and benefits from having been refined and class-tested over several years. The result is a text that can be used with courses, or for self-learning. Features include: freely accessible powerpoint slides for each chapter; solutions to exercises, and examination questions (with solutions) available to instructors; downloadable code that's fully compliant with the latest Haskell release.

Reviews

“The best introduction to Haskell available. There are many paths towards becoming comfortable and competent with the language but I think studying this book is the quickest path. I urge readers of this magazine to recommend Programming in Haskell to anyone who has been thinking about learning the language.”― Duncan Coutts (from an in-depth review in The Monad.Reader)

“A wonderful introduction to functional programming in Haskell. I'm using it as part of an undergraduate course and I'm amazed at how fast my students have understood issues with which previous classes of mine have struggled. In my opinion, this is the best introductory text available on functional programming in any language.” ― Bill Harrison (from a review here)

“An excellent introduction to functional programming in Haskell, written by a first-rate teacher and researcher. The material is presented in an engaging, light and no-frills style, at a pace that is appropriate for undergraduates even in their first year. I thoroughly recommend it.” ― Richard Bird (from the back cover)

“By far the best introduction to Haskell I've seen. It's great to read a really clear, concise text book, I could almost feel my brain re-organising itself while I read it. The experience reminded me of reading Kernighan & Ritchie after some months of confused C hacking, feeling everything clicking into place.” ― Alex McLean (from a review here)

“The material is very well written, concise and easy to understand. I'd recommend this text to anyone starting out with Haskell.” ― Joey Capper (from a review here)

“Contains absolutely everything that the beginner needs to know.” ― Daniel Lewis (from a review here)

“The writing style is clear and to the point” ―Mark Twain (from a review here)

“This looks like the introductory Haskell text!” ― Paul Potts (from a review here)

“Absolutely Excellent” ―Benjamin Manes (from a review here)

Slides

Powerpoint slides that cover the main points from each chapter:

  1. Introduction
  2. First steps
  3. Types and classes
  4. Defining functions
  5. List comprehensions
  6. Recursive functions
  7. Higher-order functions
  8. Functional parsers
  9. Interactive programs
  10. Declaring types and classes
  11. The countdown problem
  12. Lazy evaluation
  13. Reasoning about programs

These slides may be used or modified for any educational purpose on a non-profit-making basis, provided that I am acknowledged as the original author.

Code

Haskell code for each of the extended examples:

Instructors

Instructors can request inspection copies, solutions to the exercises, together with a large collection of exam questions and their solutions, by clicking here.

Errata

All known errata are listed here. Please contact the author if you spot any further issues.