Real World Haskell 1st Edition

43 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.
Sell yours for a Gift Card
We'll buy it for $12.35
Learn More
Trade in now
Have one to sell? Sell on Amazon
Buy used
$34.95
Buy new
$38.09
Rent from Amazon Price New from Used from
Kindle
"Please retry"
$10.75
Paperback, December 1, 2008
"Please retry"
$38.09
$30.92 $19.99
More Buying Choices
31 New from $30.92 24 Used from $19.99
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


InterDesign Brand Store Awareness Rent Textbooks
$38.09 FREE Shipping. In Stock. Ships from and sold by Amazon.com. Gift-wrap available.

Frequently Bought Together

Real World Haskell + Learn You a Haskell for Great Good!: A Beginner's Guide + Purely Functional Data Structures
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

Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

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.3 out of 5 stars  See all reviews (43 customer reviews)
  • Amazon Best Sellers Rank: #231,748 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews

87 of 92 people found the following review helpful By C. Adams on October 17, 2009
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 Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
27 of 31 people found the following review helpful By Jeremiah LaRocco on March 7, 2009
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 Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
45 of 54 people found the following review helpful By Evan Carroll on June 27, 2010
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 Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
8 of 9 people found the following review helpful By Konstantin Solomatov on February 20, 2012
Format: Paperback Verified Purchase
I have bought the book to improve my understanding of Haskell and its real world usage. Haskell is well known for a very steep learning curve and a lack of good books on it so I hoped the book will improve the situation. Unfortunately, it did so only partially.

The book gives you a deep overview of different language features and libraries. Unfortunately, after reading the book I felt that using Haskell for real world problem is a very bad idea, because of verbose and incomprehensible (and often uncompilable) examples presented in the book which isn't true. This book can only be used as a supplementary material for another haskell book.

For those who are willing to learn haskell I recommend the following sequence of reading: 1. Read Learn You a Haskell for Great Good!: A Beginner's Guide, the book is very short and very easy to comprehend and covers features of Haskell very well. 2. Read Haskell langauge spec. It isn't very long but you will be aware of all the languages' features. 3. Read Monad.Reader for more advanced haskell stuff.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
Real World Haskell
This item: Real World Haskell
Price: $38.09
Ships from and sold by Amazon.com