Real World Haskell and over one million other books are available for Amazon Kindle. Learn more

Buy New

or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Buy Used
Used - Good See details
$32.76 & this item ships for FREE with Super Saver Shipping. Details

or
Sign in to turn on 1-Click ordering.
 
   
Kindle Edition
 
   
Sell Back Your Copy
For a $7.25 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Real World Haskell
 
 
Start reading Real World Haskell on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Real World Haskell [Paperback]

Bryan O'Sullivan (Author), John Goerzen (Author), Don Stewart (Author)
4.1 out of 5 stars  See all reviews (28 customer reviews)

List Price: $49.99
Price: $37.23 & this item ships for FREE with Super Saver Shipping. Details
You Save: $12.76 (26%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it delivered Friday, May 18? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Kindle Edition $22.79  
Paperback $37.23  
Sell Back Your Copy for $7.25
Whether you bought it on Amazon or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $7.25.
Used Price$15.96
Trade-in Price$7.25
Price after
Trade-in
$8.71

Book Description

December 1, 2008 0596514980 978-0596514983 1
This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You'll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications. Real World Haskell takes you through the basics of functional programming at a brisk pace, and then helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter. With this book, you will:
  • Understand the differences between procedural and functional programming
  • Learn the features of Haskell, and how to use it to develop useful programs
  • Interact with filesystems, databases, and network services
  • Write solid code with automated tests, code coverage, and error handling
  • Harness the power of multicore systems via concurrent and parallel programming

You'll find plenty of hands-on exercises, along with examples of real Haskell programs that you can modify, compile, and run. Whether or not you've used a functional language before, if you want to understand why Haskell is coming into its own as a practical language in so many major organizations, Real World Haskell is the best place to start.


Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $2 in Amazon MP3 Credit. Here's how (restrictions 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)
Price For All Three: $85.09

Some of these items ship sooner than the others. Show details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Learn You a Haskell for Great Good!: A Beginner's Guide $25.57

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • The Haskell Road to Logic, Maths and Programming (Texts in Computing) $22.29

    Usually ships within 1 to 4 weeks.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details



Editorial Reviews

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.


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.2 x 7 x 1.5 inches
  • Shipping Weight: 2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (28 customer reviews)
  • Amazon Best Sellers Rank: #282,055 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
55 of 59 people found the following review helpful
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. The book really begins to redeem itself again here, and makes monads clear as a datatype that captures common concepts of encapsulating and sequencing, and completely avoids cutesy visual analogies (no spacesuits or toxic waste here!).

I've not finished the book (I'm still in Chapter 14) but I am eagerly looking forward to its later chapters introducing monad transformers, parallel programming, and software transactional memory. You get a lot of book for the price, but you'll need the support of the always-friendly haskell community on IRC or email to make the most of this tome, or even make any sense of several parts of it.
Was this review helpful to you?
22 of 26 people found the following review helpful
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?
18 of 22 people found the following review helpful
Format:Paperback|Amazon 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.
Was this review helpful to you?
Most Recent Customer Reviews
Not a very good book
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... Read more
Published 2 months ago by Konstantin
Type centric, good monad, and decent coverage
Does a good job in bringing together many of the stronger features of Haskell.

Haskell is probably one the hardest languages to present because it is so compact and its... Read more
Published 11 months ago by Litsios James
A good start on haskell and functional programming.
If you're new to Haskell or functional programming, this book is a good start. it illustrate functional concepts like monads, parallel programming, transactional memory, purity,... Read more
Published 15 months ago by Mostafa farghaly
Inpenetrable and Boring
I bought the book "Real World Haskell", but subsequently found far better routes to learning Haskell on-line. Read more
Published 17 months ago by pF
A little flawed
Similar to some python books it focuses too much on the command line interpreter. Understandably you have to start somewhere but the chapters continue to revert back. Read more
Published 19 months ago by Rockstrongo
Not written for real-world use
Despite what the title suggests, the book was not written with real-world use in mind.

The biggest flaw in this book is the examples. Read more
Published 22 months ago by Omari Norman
Better than others, but still not good enough
Haskell books are in general among the worst I have seen for any programming language, which is really a pity for such an interesting language. Read more
Published on August 13, 2009 by Federico Zenith
Good Book for those stepping into the Haskell world
Real World Haskell is very ambitious in its scope. It tries to gradually introduce the Haskell way of doing things such that even someone coming from an imperative programming... Read more
Published on May 28, 2009 by J. Bergman
Good for a first draft and especially for a Functional Programming...
RWH is a solid book that gives the read a good idea of how Haskell works and why its unique. The book has its fault, largely because its a first draft that tries to cover a LOT of... Read more
Published on May 1, 2009 by zbrown
Good Book
I picked up Real World Haskell for the purpose of learning functional programming. I have had experience with Lisp before but was never able to get particularly far off the ground... Read more
Published on April 21, 2009 by Andrei Mouravski
Search Customer Reviews
Only search this product's reviews

Inside This Book (learn more)
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
functional programming, parity digit, filename matching, barcode recognition, implicit state, show your work, temporary files, parallel programming, new monad, conditional evaluation, using ghci, atomically block, supply monad, use ghci, writer monad, current parsing state, programming with monads, cabal file, nonstrict evaluation, reader monad, transformer stack, monadic code, monad transformers, impure code, disconnect conn
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Compiling Main, Extended Example, Nothing Just, Defining Types, Advanced Library Design, Error Handling, Regular Expressions, Either String, Systems Programming, Case Study, Efficient File Processing, Regex Data, Think About Loops, First Steps, Just True, Important Built-in Typeclasses, Software Transactional Memory, Either Int, Streamlining Functions, Using Parsec, Another Way of Looking, Bool True, Binary Data Format, Portably Splitting Lines of Text, Empty Empty
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(16)

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...



Look for Similar Items by Category


Look for Similar Items by Subject