Shop Trending Essentials for Pets
Buy Used :
$7.93
Used: Very Good | Details
Condition: Used: Very Good
Comment: May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less
Access codes and supplements are not guaranteed with used items.
In stock
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

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.

QR code to download the Kindle App

  • Haskell: The Craft of Functional Programming (International Computer Science Series)

Follow the author

Follow authors for new release and deal updates, plus improved recommendations. See updates from all followed authors in Your Books.
Something went wrong. Please try your request again later.

Haskell: The Craft of Functional Programming (International Computer Science Series)

4.2 out of 5 stars (34)

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.

Customers also bought or read

Loading...

Editorial Reviews

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.

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)
  • Customer Reviews:
    4.2 out of 5 stars (34)

About the author

Follow authors for new release and deal updates, plus improved recommendations. See updates from all followed authors in Your Books.
Simon Thompson
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

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

4.2 out of 5 stars
34 global ratings

Top 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, 2013
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    oracle 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 helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 4 out of 5 stars
    Good first read of Haskell
    Reviewed in the United States on December 31, 2012
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    It 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 helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Five Stars
    Reviewed in the United States on January 28, 2016
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Really great on the delivery and the product of the book

    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    good to read
    Reviewed in the United States on September 5, 2015
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Like this book, explaination of concepts are good for me

    2 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 3 out of 5 stars
    A simple introduction book
    Reviewed in the United States on March 10, 2017
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    The 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 helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 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, 2014
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    the book received looks like used. 2 day shipping is perfect and exactly arived as promised.

    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Great intro to Haskell
    Reviewed in the United States on April 23, 2015
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Great intro to Haskell. Had a good *early* emphasis on QuickCheck to get people in the mind of testing early

    5 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Best Haskell introduction out there, but there are some flaws.
    Reviewed in the United States on November 5, 2013
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Pros :

    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 helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

Top reviews from other countries

    Translated by Amazon
    See original
  • 4 out of 5 stars
    Solid introduction to Haskell and functional programming
    Reviewed in Canada on September 19, 2020
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    I 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.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Eines der besten Haskell-Bücher für Anfänger
    Reviewed in Germany on January 12, 2017
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Ich 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.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

    Translated from German by Amazon
    See original
  • 5 out of 5 stars
    Five Stars
    Reviewed in the United Kingdom on September 29, 2015
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Ottimo servizio!
    Reviewed in Italy on January 19, 2016
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Ho 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.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

    Translated from Italian by Amazon
    See original
  • 4 out of 5 stars
    It could be better
    Reviewed in France on December 24, 2013
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    It'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.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.