*** An extensively updated and expanded new edition of the book was published in 2016. ***
*** This version is now out-of-date, and all readers and instructors are advised to use the new edition instead. ***
Paperback: ISBN 9780521692694;
Hardback: ISBN 9780521871723;
eBook: ISBN 9780511292187; Kindle: ASIN: B001FSKE6Q.
Translations into Korean and Japanese are also available.
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 who is well-known for his teaching skills, and the book includes material and examples drawn from the author's own research. The presentation is clear and simple, and benefits from having been refined and class-tested over many years. The result is a text that can be used with courses, or for self-learning. Additional features include: freely available powerpoint slides, lecture videos and Haskell code.
In depth technical 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
“Where this book excels is in the order and style of its exposition. With its ripe selection of examples and its careful clarity of exposition, the book is a welcome addition.”― Saketh Bhamidipati
“ Programmers are hungry to learn more about the foundations of functional programming. The purely functional language Haskell is the best medium to teach those fundamentals, and Dr Hutton's textbook is the best way to learn about Haskell.” ― Erik Meijer
“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
“ My favorite introductory book is Graham Hutton's Programming in Haskell. In my view, it is the Kernighan & Ritchie of Haskell --- all the key details with little unnecessary filler.” ― Paul Callaghan
“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
“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
“Among the most elegant computer language books I've read, and it will go on my shelf next to The Little Schemer and Godel, Escher, Bach. The text presented an enlightening and well explained new concept in typed functional programming on nearly every page.” ― Braddock Gaskill
“ Once in a while you come across a book which makes reading a pleasure. You don't feel like doing anything else apart from reading the book. Programming in Haskell is one such book. Reading the book gives you a wow feeling. Haskell to me never felt easy before” ― Chandrasekhar Prabala
“ A very clear introduction to the essentials of Haskell. If I had to pick one book to recommend, for newcomers or old hands, this would be the one.” ― B. Wise
“The material is very well written, concise and easy to understand. I'd recommend this text to anyone starting out with Haskell.” ― Joey Capper
“I wish I had such a book for every new language I want to learn. I cannot recommend this book highly enough.” ― T. Herchenröders
“An incredibly clear and concise introduction to the basic features and modus operandi of Haskell.” ― K. Snavely
“Contains absolutely everything that the beginner needs to know.” ― Daniel Lewis
“Well written, clear, concise, and easy to follow” ― Davis
“The writing style is clear and to the point” ― Mark Twain
“This looks like the introductory Haskell text!” ― Paul Potts
“Absolutely Excellent” ― Benjamin Manes
Powerpoint slides that cover the main points from each chapter:
These slides may be freely used or modified for any educational or training purpose, provided that I am acknowledged as the original author.
These videos have been very popular, being followed by 60,000 developers and receiving more than 1 million lecture downloads.
Haskell code for each of the extended examples:
All known errata are listed
Please contact the author if you spot any further issues.