• RRP: £35.50
  • You Save: £10.51 (30%)
FREE Delivery in the UK.
Only 5 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Real World Haskell has been added to your Basket
+ £2.80 UK delivery
Used: Good | Details
Sold by owlsmart_usa
Condition: Used: Good
Comment: Good clean copy with no missing pages might be an ex library copy; may contain marginal notes and or highlighting
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Real World Haskell Paperback – 5 Dec 2008

3.8 out of 5 stars 12 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
£19.37 £14.99
Promotion Message 10% Bulk Discount 1 Promotion(s)

Note: This item is eligible for click and collect. Details
Pick up your parcel at a time and place that suits you.
  • Choose from over 13,000 locations across the UK
  • Prime members get unlimited deliveries at no additional cost
How to order to an Amazon Pickup Location?
  1. Find your preferred location and add it to your address book
  2. Dispatch to this address when you check out
Learn more
£24.99 FREE Delivery in the UK. Only 5 left in stock (more on the way). Dispatched from and sold by Amazon. Gift-wrap available.
click to open popover

Special Offers and Product Promotions

  • Save 10% on Books for Schools offered by Amazon.co.uk when you purchase 10 or more of the same book. Here's how (terms and conditions apply) Enter code SCHOOLS2016 at checkout. Here's how (terms and conditions apply)

Frequently Bought Together

  • Real World Haskell
  • +
  • Learn You a Haskell for Great Good!: A Beginner's Guide
  • +
  • The Haskell Road to Logic, Maths and Programming (Texts in Computing, Vol. 4)
Total price: £68.98
Buy the selected items together

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.

  • Apple
  • Android
  • Windows Phone

To get the free app, enter your mobile phone number.

Product details

Product Description

Book Description

Code You Can Believe In

About the Author

Bryan O'Sullivan is an Irish hacker and writer who likes distributed systems, open source software, and programming languages. He was a member of the initial design team for the Jini network service architecture (subsequently open sourced as Apache River). He has made significant contributions to, and written a book about, the popular Mercurial revision control system. He lives in San Francisco with his wife and sons. Whenever he can, he runs off to climb rocks.

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.

Customer Reviews

3.8 out of 5 stars
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback
I have mixed feelings about this book. My girlfriend thought it was my favourite book because I was always reading it and it became very well-worn. However, the real reason I couldn't put it down was because I couldn't understand it. The main problems with the book are:

1. The code examples are too interdependent. If you get a mental block (or get bored), you can't jump to another chapter to `take a bite from a different side of the cake' because most code just builds on the code developed in previous chapters. So if you skipped the previous chapter you're stuffed. Even if you didn't skip the previous chapter, you will be doing well if you can piece together the `actual' code from all the fragments littered throughout the chapter - some of which are red herrings (ie code fragments that are there to show you how not to do it).
2. There is a step change in pace around chapter 10, which goes from the pace of a Sunday drive to light-speed, almost as if there was a change of author. The chapter is way too dense and tries to get too many concepts across at once. This is also the chapter that has the greatest number of mistakes, so for me it was like hitting a wall, my progress practically slowed to a halt and I was seriously debating whether to continue with the language.

That said there is some good stuff in here, it just needs a re-think. If you are new to Haskell, I recommend you check out `Learn You A Haskell for Great Good' first and come back here if you are a masochist.
1 Comment 13 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
I agree with the other readers who say they just got frustrated by the author's inability to illustrate his point through simple, atomic and self explanatory examples. I enjoyed the first few chapters, because the author had not yet built up a critical mass of backward references, but after that I wanted to skip a whole load of stuff that wasn't relevant to me. However skipping ahead to chapters on things like Monads, I find it referring back to previous chapters, which in turn refer back to previous chapters and so on. I tried to read the whole thing linearly, but the examples are too specialised for me to bothered by them. I just can't bring myself to care about bar code reading programs, no matter how much I try - and there is a whole chapter on this!
The book isn't all bad, the early chapters are good, and I some Haskell concepts did `click' for me from reading this book. The author's style when steered away from examples that run into pages is clear and good.
The problem is its combination of being rather long, and that it *really* has to be read in a linear fashion.

You can pick up the language just as well using online tutorials and the user mail list is pretty helpful if you get lost on concepts like Monads. I think there are far better tutorials on Monads on the net now than this book, although I accept there are a whole load more terrible explanations on the net, and you'll need to read 10 bad ones to find 1 good one - bit it is the quickest way to learn the concept.

What Haskell needs is author capable of producing a book like the "Effective C++" series. It assumes fairly basic knowledge of the language (you can pick that up from anywhere).
Read more ›
Comment 16 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Kindle Edition Verified Purchase
I bought the Kindle edition of this book having done functional programming with other languages before (Lisp and Scala). The first third or so of this book was material very familiar to me from those other languages and even here I found the book hard work. There were mistakes where the description in the text did not match the sample code. There was an instance of sample code not compiling, and infact the compile error was printed into the book in place of where the program output was expected (maybe this is only present in the Kindle print). Sample code was often too abstract using identifier names that did not help me to understand what the sample code was trying to achieve (ironic for "real world" haskell). In other cases the sample code required functions that would only be implemented much later in the book (very confusing if you are trying out the samples as you read).

The next third or so of the book was new territory for me, and here I found myself often second guessing the text of the book. I suspected mistakes but did not have the confidence to know for sure. At this point the online version of the book proved to be very helpful ([...]). Here there are plenty of online comments from readers of the book that correct many of the mistakes and clear up confusion. Take a skim at some of the comments there before you buy to get an indication of the types of problems this book has.

I gave up on this book at roughly the two thirds mark, and am now instead reading "Programming in Haskell". I have yet to complete this alternative book but so far it is of much higher standard than Real World Haskell.
Comment 3 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
I had been searching for a clear, concise reference for Haskell for years before I discovered this book.

The trouble with most existing Haskell tutorials and texts is that they always approach Haskell from the point of language theory: why Haskell is cool, but always fail to show how to actually improve the quality of your programs using a different paradigm.

This book is different. By insisting on being thoroughly rooted in practicality, it enables discussion of some of Haskell's more abstract corners (Monads and Monad Transformers) from a perspective of why they'd be useful to *me*, and how *I* could use them to solve programming problems that are mucky in other languages.

And for the first time, it all clicked. I at last understand Monads and why they exist. And since no other Haskell reference has ever done that for me, I can't recommend it highly enough.

A previous commenter has mentioned that chapters do tend to depend on previous examples in other chapters, and that makes this book useless as a reference. I disagree: I think there is significant didactic power in the approach of doing it once the hard way, because when concepts like Monads are introduced, it has an opportunity to do it again the right way, and suddenly Haskell's awesome expressive power is laid bare.
Comment 13 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews