Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Haskell: The Craft of Functional Programming (International Computer Science Series)
Introducing functional programming in the Haskell language, this book is written for students and programmers with little or no experience. It emphasises the process of crafting programmes, problem solving and avoiding common programming pitfalls.
Covering basic functional programming, through abstraction to larger scale programming, students are lead step by step through the basics, before being introduced to more advanced topics.
This edition includes new material on testing and domain-specific languages and a variety of new examples and case studies, including simple games. Existing material has been expanded and re-ordered, so that some concepts – such as simple data types and input/output – are presented at an earlier stage.
- ISBN-100201882957
- ISBN-13978-0201882957
- Edition3rd
- PublisherAddison-Wesley
- Publication dateJune 16, 2011
- LanguageEnglish
- Dimensions6.75 x 1.75 x 9.4 inches
- Print length608 pages
Customers who viewed this item also viewed
- Programming in HaskellPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Sunday, Oct 11
Customers also bought or read
- Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming
Paperback$36.84$36.84FREE delivery Sun, Oct 11
Editorial Reviews
From the Back Cover
Revisions to this new edition include new material on testing and domain-specific languages and a variety of new examples and case studies, including simple games. Existing material has been expanded and re-ordered, so that some concepts - such as simple data types and input/output - are presented at an earlier stage. The running example of Pictures is now implemented using web browser graphics as well as lists of strings.
The book uses GHCi, the interactive version of the Glasgow Haskell Compiler, as its implementation of choice. It has also been revised to include material about the Haskell Platform, and the Hackage online database of Haskell libraries. In particular, readers are given detailed guidance about how to find their way around what is available in these systems.
An accompanying web site supports the book, containing all the program code, further teaching materials and other useful resources.Simon Thompson is Professor of Logic and Computation in the School of Computing at the University of Kent. His research and teaching interests include functional programming and logical aspects of computer science. Simon has written three other books: Erlang Programming (co-authored with Francesco Cesarini), Miranda: The Craft of Functional Programming and Type Theory and Functional Programming.
About the Author
Simon Thompson is a Senior Lecturer in Computer Science at the University of Kent. His research and teaching interests include functional programming and logical aspects of computer science.
Product details
- Publisher : Addison-Wesley
- Publication date : June 16, 2011
- Edition : 3rd
- Language : English
- Print length : 608 pages
- ISBN-10 : 0201882957
- ISBN-13 : 978-0201882957
- Item Weight : 2.22 pounds
- Dimensions : 6.75 x 1.75 x 9.4 inches
- Best Sellers Rank: #2,538,021 in Books (See Top 100 in Books)
- #4,568 in Computer Programming Languages
- #7,199 in Programming Languages (Books)
- #8,171 in Computer Software (Books)
- Customer Reviews:
About the author

Simon Thompson is Professor of Logic and Computation in the School of Computing at the University of Kent, where he has taught computing at undergraduate and postgraduate levels for the past thirty years, and was department head from 2002 to 2010; he is now Director for Research and Enterprise for the school.
His research work has centered on functional programming: program verification, type systems, and most recently development of software tools for functional programming languages. His team has built the HaRe tool for refactoring Haskell programs, and is currently developing Wrangler to do the same for Erlang. His research has been funded by various agencies including EPSRC and the European Framework programme. His training is as a mathematician: he has an MA in Mathematics from Cambridge and a D.Phil. in mathematical logic from Oxford.
He has written four books in his field of interest; Type Theory and Functional Programming published in 1991; Miranda: The Craft of Functional Programming (1995), Haskell: The Craft of Functional Programming (3rd ed. 2011) and Erlang Programming (with Francesco Cesarini, 2009). Apart from the last, which is published by O'Reilly, these are all published by Addison Wesley.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
- 5 out of 5 stars
nice book, I am not finished but can't wait to move on to [...]
Reviewed in the United States on June 19, 2013oracle is obsolete
[...] included a [...] style database in ram
done
and with power of happstack woo weee java is obsolete as well
nginx was pummeled recently in benchmarks vs the warp webserver of haskell fame
One person found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 4 out of 5 stars
Good first read of Haskell
Reviewed in the United States on December 31, 2012It is more attuned to a university student rather than a software professional trying to learn Haskell.
"Learn You a Haskell For Great Good!", I feel is a better first book for the software professional.
But both books are excellent.
Finally, I wish one of the Haskell authors would give a pragmatic description of Category Theory.
Category Theory is a "tough nut" to crack.
10 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
Five Stars
Reviewed in the United States on January 28, 2016Really great on the delivery and the product of the book
Sending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
good to read
Reviewed in the United States on September 5, 2015Like this book, explaination of concepts are good for me
2 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 3 out of 5 stars
A simple introduction book
Reviewed in the United States on March 10, 2017The book was ok and I read from the beginning till the end. Unfortunately I was not convinced by Haskell's advantages but it could also be, that by preferring other Functional Programming languages, I dif not give it a chance.
3 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 4 out of 5 stars
the book received looks like used. 2 day shipping is perfect and exactly ...
Reviewed in the United States on September 23, 2014the book received looks like used. 2 day shipping is perfect and exactly arived as promised.
Sending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
Great intro to Haskell
Reviewed in the United States on April 23, 2015Great intro to Haskell. Had a good *early* emphasis on QuickCheck to get people in the mind of testing early
5 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport - 5 out of 5 stars
Best Haskell introduction out there, but there are some flaws.
Reviewed in the United States on November 5, 2013Pros :
1. very well explained with many pictures and examples.
2. based on Haskell 2010(third edition)
Cons :
Learning Haskell is like learning C. Many of the language features are really easy, but some key features are challengeable.
When learning C, most of syntax/semantics except arrays and pointers can be learnt within few days, or even hours. But then, you would have hard time to master pointers, arrays and memory management, etc.
Haskell is not that different. Basic arithmetic, functions, types, pattern matching, guards and even recursions, you could learn in short time. But type classes, lambdas(especially, those reductions) are a bit harder and finally, monads can be very frustrating.
I am generally satisfied with the contents of the book, but his explain about lambdas and monads is a bit sparely. I think, he worried about to introduce mathematics(especially, lambda calculus and category theory). But, the functional languages are different than those imperative languages, in that its root is pure mathematics. They have a small set of simple yet powerful rules, which enables many neat tricks, and many of the tricks actually come from mathematical thinking. When you want to fully understand and to use the functional languages properly, basic theories are somewhat unavoidable. Actually, you don't need to know such as undecidability, model theory or constructive logic, etc. but the basics of (untyped-/typed-)lambda calculus(especially those of reductions, evaluation orders and some of their theorems), category theory(monad is a bit hard here, because it lies in the deep sea of category theory, but functors, for example, can be easily explained) is very helpful for thinking about higher order things and its practical use. Also, you don't need so much effort to learn only the basics of them. Without that they are explained sufficiently, the tutorial is teaching only the subset of Haskell.
Don't get me wrong, this book is the most nearly complete Haskell introductory text out there with the support of Haskell 2010. I wrote the insufficient parts, because it could be the 'complete' introduction to Haskell, when the author didn't avoid the whole theory parts. And since I have read his "Type Theory & Functional Programming", I have an impression that he can present the theories easily understandable. When this part is supplemented, it can be compared to the legendary (and most complete) "C programming : A modern approach" by K.N.King in Haskell world.
So, despite of the cons, I'll give 5 stars, because it is actually much better than other Haskell books.
25 people found this helpfulSending feedback...Sending feedback...HelpfulThank you for your feedback.Sorry, we failed to record your vote. Please try againThanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Top reviews from other countries
tovtl4 out of 5 starsSolid introduction to Haskell and functional programming
Reviewed in Canada on September 19, 2020I actually quite liked this book. It is clear and well written. That being said, this book is much more suited to people who are relative novices at programming. The type of person that would be best suited to purchase this book would be someone that has some experience programming in other languages, but is relitively new to programming as a whole and completely new to functional programming. Anyone more experienced than that might want to look for a more advanced book.
Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Orkus Morkus5 out of 5 starsEines der besten Haskell-Bücher für Anfänger
Reviewed in Germany on January 12, 2017Ich bin noch Anfänger in Haskell und habe mir ein paar Bücher zum Lernen besorgt. Dieses hier liefert meiner Ansicht nach eine gute und umfassende Einführung.
Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Mingzhen Xu5 out of 5 starsFive Stars
Reviewed in the United Kingdom on September 29, 2015perfect
Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Cliente Amazon5 out of 5 starsOttimo servizio!
Reviewed in Italy on January 19, 2016Ho acquistato questo libro per apprendere a programmare secondo il paradigma funzionale.Le spiegazioni sono molto chiare e ci sono vari esercizi per fare pratica.Spedizione puntuale e servizio ineccepibile.Consigliato!
Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport
Safepepe4 out of 5 starsIt could be better
Reviewed in France on December 24, 2013It's really friendly at the start, really directed to somebody that doesn't know much about programming languages and covers the material well enough with good organization inside each chapter. Plus it explains at the start of each chapter what that chapter is meant to accomplish, which i find really nice.
However it lacks detail in some cases, things that may be evident to the writer but not the reader. Sometimes I find myself checking for information on the internet because the book doesn't address my specific problem or doesn't hold an answer.
It does make use of already made exercices and examples that can be easily downloaded from the book's webpage (it even guides the user on how to download them), however I think that the way it implements that system in the book could be better. There are times when it is not clear wether to create a new file to work on or just use one from the downloaded examples. When it is clear, there is no previous warning to open an example file, it just assumes that you have it open or know what to do.
All things considered it is a good book, enjoyed reading it .
Sending feedback...Thanks, we'll investigate in the next few days.Sorry, We failed to report this review. Please try againWe'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.
CancelReport











