Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$35.01$35.01
FREE delivery:
Thursday, April 4
Ships from: Amazon.com Sold by: Amazon.com
Buy used: $32.09
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.
Real World Haskell 1st Edition
Purchase options and add-ons
- ISBN-100596514980
- ISBN-13978-0596514983
- Edition1st
- PublisherOreilly & Associates Inc
- Publication dateDecember 5, 2008
- LanguageEnglish
- Dimensions7.28 x 1.5 x 9.09 inches
- Print length670 pages
Frequently bought together

Similar items that may ship from close to you
Editorial Reviews
About the Author
John Goerzen is an American hacker and author. He has written a number of real-world Haskell libraries and applications, including the HDBC database interface, the ConfigFile configuration file interface, a podcast downloader, and various other libraries relating to networks, parsing, logging, and POSIX code. John has been a developer for the Debian GNU/Linux operating system project for over 10 years and maintains numerous Haskell libraries and code for Debian. He also served as President of Software in the Public Interest, Inc., the legal parent organization of Debian. John lives in rural Kansas with his wife and son, where he enjoys photography and geocaching.
Don Stewart is an Australian hacker based in Portland, Oregon. Don has been involved in a diverse range of Haskell projects, including practical libraries, such as Data.ByteString and Data.Binary, as well as applying the Haskell philosophy to real-world applications including compilers, linkers, text editors, network servers, and systems software. His recent work has focused on optimizing Haskell for high-performance scenarios, using techniques from term rewriting.
Product details
- Publisher : Oreilly & Associates Inc; 1st edition (December 5, 2008)
- Language : English
- Paperback : 670 pages
- ISBN-10 : 0596514980
- ISBN-13 : 978-0596514983
- Item Weight : 2.7 pounds
- Dimensions : 7.28 x 1.5 x 9.09 inches
- Best Sellers Rank: #978,230 in Books (See Top 100 in Books)
- #162 in Software Design & Engineering
- #501 in Computer Programming Languages
- #1,280 in Software Development (Books)
- Customer Reviews:
About the authors

Discover more of the author’s books, see similar authors, read author blogs and more

Discover more of the author’s books, see similar authors, read author blogs and more

Discover more of the author’s books, see similar authors, read author blogs and more
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 Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
The authors do a great job of explaining the value of taking on the challenge of coding in a pure, functional language. As clock speeds stagnate and the number of cores available to programmers increases, this will only become truer with time. As the authors demonstrate, Haskell is uniquely positioned to take advantage of this new paradigm. The other paradigm shift is that this is the first major book (AFAIK) to address Haskell from a practical as opposed to academic perspective. It does so with shining colors.
I can't recommend RWH strongly enough for anyone considering Haskell. As a last note, even if you can't conceive of a single time that you will ever need to use Haskell, learn it anyway. It will blow your mind. Check the canonical powerset of a list function below if you still need convincing:
powerset :: [a] ->
powerset = filterM (const [True, False])
The biggest complaint people have is that it tends to introduce concepts without really ever mentioning why something is being done. On one hand I agree with that assessment, however I also think that the book was marketed somewhat improperly. I would not call this book a good book for a beginner or your average intermediate programmer. At the very least I would say this book is better suited for experienced programmers or intermediate programmers with a passion for learning about languages.
That said, of the Functional Programming books I own, this is one of the best and most practical. It does not require a doctorate in Denotational Semantics to understand and it does not burn the first half of the book on typed/untyped lambda calculi (not that these things aren't important).
In short, if you want to get down to business working with a functional language, you have some experience with programming and are comfortable with a few errors then this book is for you.
It serves at least those purposes:
- Makes one an overall better programmer by teaching to think about problems in a functional mindset, thus teaching modularity and abstraction (because functional programs tend to be modular and abstract 'by construction')
- By introducing some of Haskell's extremely powerful libraries, such as STM and QuickCheck, motivates to search for equally unbelievably beautiful design decisions in casual programming
- Teaches one to program useful, reliable, fast, concurrent, tested, and-so-on real-world applications in Haskell
I beleive that the book will play a seminal role in popularization of functional programming, and, consequently, in increasing the number of good programmers and good code in the world :)
Top reviews from other countries
Enter functional programming. Erlang has the ability to succeed with multi-cores, though I have my doubts about its efficiency; it’s great for network-heavy applications, but is it quite so great for compute-intensive apps? I’m not convinced yet that functional programming (Erlang excepted) has the ability *right now* to build hugely scalable multi-core apps - but I think the potential is there, and any developer putting the effort into becoming proficient at functional programming may be hugely rewarded in the future.
Given this hypothesis, how to go about it? Haskell has a reputation of being an extremely pure functional language. It also has a reputation of being very hard to learn. This is where “Real World Haskell” comes in. If you study this book right to the end, you’ll have made the mindset switch. Be warned though, it has 650 pages and is heavy going. Not because it’s badly written; on the contrary, it’s written very well. It’s because there’s a huge amount of technical stuff to put over. Recursion, folds, partial functions, lambda functions, typeclasses, and monads anyone? (Write programs using recursion in Java etc, and get used to stack overflows; not the best way to write highly stable apps).
Back in the 1990s I went through another mindset switch - from procedural thinking to object thinking. I’m finding this one harder. After studying a couple of hundred pages, and having studied Erlang previously, I began to experience the mindset switch. Unfortunately it was fragile, one minute I was thinking functionally and the next back to declarative. The real world intervened though, and I had to stop the study; so I slid back to declarative thinking. Real soon now I’m going to take another run at it. Of all the Haskell books, this is the one I’ll use. I’ve found others either too simple or too academic; for me, this book is just right.
You may need other Haskell books too but you can't go wrong with this one.
Chapter 10 with its ad-hoc monadic parser is ``a newbie killer''. The discussions of parseByte on the website with the text of the book helps. Reading on the state monad helps to understand the chapter too.








