Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Haskell: The Craft of Functional Programming (3rd Edition) (International Computer Science Series) Paperback – October 2, 2011
|New from||Used from|
All Books, All the Time
Read author interviews, book reviews, editors picks, and more at the Amazon Book Review. Read it now
Frequently bought together
Customers who bought this item also bought
From the Back Cover
The third 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 on program design, testing, problem solving and how to avoid common pitfalls.
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.
Top customer reviews
1. very well explained with many pictures and examples.
2. based on Haskell 2010(third edition)
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.
"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.
[...] included a [...] style database in ram
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