Enter your mobile number 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.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

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

Real World Haskell 1st Edition

4.2 out of 5 stars 48 customer reviews
ISBN-13: 978-0596514983
ISBN-10: 0596514980
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Trade in your item
Get a $3.88
Gift Card.
Have one to sell? Sell on Amazon
Buy used On clicking this link, a new layer will be open
$7.35 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$42.13 On clicking this link, a new layer will be open
More Buying Choices
35 New from $27.01 31 Used from $7.35
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Excel2016ForDummiesVideo
Excel 2016 For Dummies Video Training
Discover what Excel can do for you with self-paced video lessons from For Dummies. Learn more.
$42.13 FREE Shipping. In Stock. Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • Real World Haskell
  • +
  • Learn You a Haskell for Great Good!: A Beginner's Guide
  • +
  • Purely Functional Data Structures
Total price: $114.71
Buy the selected items together

Editorial Reviews

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.

NO_CONTENT_IN_FEATURE
New York Times best sellers
Browse the New York Times best sellers in popular categories like Fiction, Nonfiction, Picture Books and more. See more

Product Details

  • Paperback: 714 pages
  • Publisher: O'Reilly Media; 1 edition (December 1, 2008)
  • Language: English
  • ISBN-10: 0596514980
  • ISBN-13: 978-0596514983
  • Product Dimensions: 7 x 1.7 x 9.2 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.2 out of 5 stars  See all reviews (48 customer reviews)
  • Amazon Best Sellers Rank: #101,664 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Paperback
The good news is, this is probably the best Haskell book yet. The bad news is, it's still a frustratingly confusing jumble. It starts out well, introducing expressions, type inference, recursion, pattern matching, algebraic types, and higher order functions, with an emphasis on maps and folds (the way real world Haskell code is actually written), and it contains exercises that range from simple to challenging. The first four chapters alone are worth the price.

Unfortunately, the problems start in chapter 5, and rarely let up. It starts by introducing a datatype for JSON data for the purpose of pretty-printing it. The way the pretty-printer is rolled out is confusing -- it constantly jumps between code snippets that won't even compile, because a type they depend on is not defined til nearly the end of the chapter. And while it stays away from excessive cleverness, function names are confusingly named. In fact the entire nature of the pretty-printer revolves around a "Doc" abstraction that is never clearly explained or rationalized.

Later chapters are also rich with useful information, such as explanations of various GHC language extensions to the type system (which are really de facto standard Haskell nowadays). Unfortunately (there are many "unfortunatelys" to use in this review) I would never have been able to follow these explanations had I not already known a little about them -- unlike the rest of the examples in the book, the examples stop being "real-world" and instead devolve into meaningless metasyntax like "Foo" and "Bar".

By the time monads are finally introduced (late, but rightly so -- I consider this delay in introducing them to be a plus), the reader has had to suffer through some very tedious projects, such as parsing an obscure binary format.
Read more ›
2 Comments 95 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
This is probably the best book on Haskell available.

That said, there were some things I didn't like about it.

The biggest annoyance is that the example in Chapter 12 doesn't actually work. The point is to teach Haskell, not how to read barcodes, but example code that doesn't work just seems sloppy.

I'm also not a big fan of how the code samples are spread out over several pages, with a comment stating which file they belong to. Mostly just a pet peeve, but it does cause some problems because there are a few places where the code references variables or types that haven't been declared yet, so the code won't actually compile until you get further along. Not the end of the world, but the book suggests compiling often to avoid errors and the end of each code snippet would be a natural place to do that.

There are also a few language features that are used but not really explained or used before they're explained. The $ operator, for example, is used on page 165 (among other places), but is only briefly explained on page 248. In that case, even when $ is explained it's incidental to explaining something else (fmap and <$>).
Comment 29 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 Verified Purchase
The book is very poorly organized, and for the life of me I can't think of an ideal audience. Some of the material targets beginners, and then the other seventy percent is completely out of reach to all but seasoned pros. The stuff targeting beginners is rather poorly worded -- the book claims no intro to functional programming is required, but the definitions of fold[lr] will send any beginner scrambling to find a decent explanation. The book has a good share of technical rants that serve to do little more than side-track: "Ok, so you've learned foldr, now for good example and test of knowledge I'll tell you it can be written in terms of foldl" -- no further explanation provided. The definitions are all around bothersome. Ultimately, I don't think I learned much at all from this book, and I'd put in the top two worst O'reilly books I've ever read (following CGI Programming with Perl). This book seems to be a really poor mix of these non-existent books: Beginning Haskell, Advanced Haskell, and the Haskell Cookbook -- and with all this said, Haskell comes off as the most difficult language I've attempted to grasp thus far.

I should add I read through this book twice, and didn't learn much the second time around either.

A ton of the book is devoted to a JSON parser, which is rather tiresome. The other "real world examples" are equally poor like a bit-shifting checksum algorithm.

Go read Learn You a Haskell if you're looking to learn the language. If not, you can try this book -- but I'm going to predict your attempt will be fruitless.
1 Comment 46 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 purchased this book after reading other mediocre reviews, so I was mostly prepared for the flaws. There are some great chapters in here, but much of the code will not compile with a modern version of ghc. The style and quality of the examples is inconsistent as well.
Comment 5 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 Verified Purchase
This is both a great book, and a horrible book, for learning Haskell. In short, it's well-written, has good structure, and complete examples that enable you to follow along, but it's getting too old.

I feel I learned a lot from it, but it took a great deal of effort. Apart from breaks here and there, I started a year ago, and decided to devote one hour every morning to it. I also decide to rigorously type in everything in the book, in order to learn by doing.

What's good:
The book introduces Haskell without assuming that you know anything about the language. It tells you how to get started, even how you install Haskell on various operating systems, including Windows, Mac OS, and multiple variations of Linux.

Whenever there's a code listing, it starts with the name of the file, so if you're typing along, not only does it tell you what to type, but also in which file you should put the code. I found that tremendously helpful.

In the first many chapters, the code is introduced in order, which means that it compiles right away. In later chapters, when you see some more 'real-world' examples, the code doesn't compile right away, because it calls functions not yet defined. Sometimes I found myself typing for days before I could get everything to compile, and then I had to go back in order to try to understand what I just spent some hours typing.

The entire text of the book is legally available for free online at [...], so I could have simply cut and pasted from the site. Still, I chose to type, because I believe that the act of typing helps me retain what I've learned.

The online version of the book includes community contributions in the form of comments, and I found those indispensable.
Read more ›
Comment 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

Set up an Amazon Giveaway

Real World Haskell
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more about Amazon Giveaway
This item: Real World Haskell