Programming Books C Java PHP Python Learn more Browse Programming Books
Buy New
$44.63
Qty:1
  • List Price: $49.99
  • Save: $5.36 (11%)
In Stock.
Ships from and sold by Amazon.com.
Gift-wrap available.
Add to Cart
Trade in your item
Get a $6.44
Gift Card.
Have one to sell? Sell on Amazon
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 – December 1, 2008

ISBN-13: 978-0596514983 ISBN-10: 0596514980 Edition: 1st

Buy New
Price: $44.63
44 New from $31.71 26 Used from $17.15
Rent from Amazon Price New from Used from
Kindle
"Please retry"
$9.56
Paperback
"Please retry"
$44.63
$31.71 $17.15

Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student




Frequently Bought Together

Real World Haskell + Learn You a Haskell for Great Good!: A Beginner's Guide + Purely Functional Data Structures
Price for all three: $120.55

Buy the selected items together

NO_CONTENT_IN_FEATURE
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech 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: 9.1 x 7 x 1.7 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (39 customer reviews)
  • Amazon Best Sellers Rank: #336,841 in Books (See Top 100 in Books)

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.


More About the Authors

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

Customer Reviews

The book is exceptionally good at its goal, though, and I found it very useful to further my understanding of Haskell.
Andrei Mouravski
Even a numbskull like me could read it - you don't need to read Learn You a Haskell For Great Good as a prereq but playing with Haskell as you go will help of course.
Conner C. Mcdaniel
It covers all the main concepts of the Haskell language and functional programming while at the same time showing how they can be used in real world code.
Gregory Knapen

Most Helpful Customer Reviews

78 of 83 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
37 of 45 people found the following review helpful By Amazon Customer 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
30 of 40 people found the following review helpful By calvinnme HALL OF FAMETOP 500 REVIEWERVINE VOICE on January 7, 2009
Format: Paperback
Until this book came along you really needed two books to learn Haskell Programming. Haskell: The Craft of Functional Programming (2nd Edition) (International Computer Science Series) teaches the mechanics of Haskell programming, but it can be dry reading. The Haskell School of Expression: Learning Functional Programming through Multimedia shows you the possibilities of Haskell via multimedia programming, but it does miss some basic details about the language that are in the first book. This second book is lots of fun, but I think that the new O'Reilly book replaces the first book entirely and some of the functionality of the second.

Haskell has its roots in academia, and functional programming requires lots of up-front thinking about your total approach. It is not a language where you can usually just sit down and start coding. This book shows you how to use functional programming and Haskell to solve real-world problems. Each chapter contains many code samples, and many contain complete applications. The book contains an application that downloads podcast episodes from the web and stores the history in an SQL database. There is also an application that takes a grainy phone camera photo of the barcode on a book and transforms it into an identifier that you can then ue to query a library website. This is the "fun stuff" that seems to work out so well and so elegantly in the Haskell language.

It is not necessary that you have any prior knowledge of Haskell or functional programming concepts, however general programming concepts are a requirement.
Read more ›
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

Search