wow! many years ago I wrote my thesis on ML type system and its extensions possibilities, and now that I'm sixty this book is really a joy.
Haskell represents the legacy of ML philosophy and this book makes it available to everyone with clarity and freshness. I strongly advice it even if you will continue to program in c javascript php etc.
haskell helps you to think in a new clear way!

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet or computer—no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera, scan the code below and download the Kindle app.
Real World Haskell: Code You Can Believe in Paperback – Illustrated, 30 December 2008
Sorry, there was a problem loading this page.Try again.
Or $23.36 /mo (3 mo). View 2 plans
* The payment amount shown here does not include the cost of any additional selected options. See total payment amount (including shipping cost) at the checkout.
** Latitude: Monthly credit card fee (currently $10.95) will apply. Equal monthly repayments apply, account fees, late fees apply. Provider may charge interest. Exclusions apply. For more details click on Learn more above. You acknowledge that credit is provided to you by Latitude Finance Australia ABN 42 008 583 588, Australian Credit Licence number 392145, and the instalment plan is subject to the terms and conditions imposed on you by Latitude. Equal monthly repayments apply (exact amounts specified in your Latitude statement) and card fees will be charged by Latitude. If you fail to make your minimum monthly payment for two consecutive months, you agree that your equal monthly payment plans (Instalment Interest Free Promotion) with a term of fewer than 33 months will change into a minimum monthly payment plan (Interest Free Promotion) for the remaining duration of the initial plan term. If you fail to make a payment on time, Latitude will charge late fees. Latitude will also charge interest on any outstanding balance at the end of the instalment plan period you select at the rate set out in its T&Cs (currently 29.99% p.a.). Interest may also apply to other Latitude credit card transactions or if you do not comply with the Latitude T&Cs.
The payment amount shown here does not include the cost of any additional services. See total payment amount (including shipping cost) at the checkout.
^Zip Pay: This is a credit product and is interest free. Minimum monthly repayments are required. A monthly account fee of $9.95 is charged by Zip and is subject to change. Pay your closing balance in full by the due date each month and Zip will waive the fee. Available to approved applicants only and subject to completion of satisfactory credit assessment by Zip. Other charges may be payable. Fees and charges subject to change. Zip T&Cs apply. T&Cs available on application. See your Zip contract for further details. Credit provided by Zip Money Payments Pty Ltd (ABN 58 164 440 993), Australian Credit Licence Number 441878.
*Zip Money: Interest free term subject to minimum spend and promotional partner offer. Available to approved applicants only and subject to completion of satisfactory credit check. The repayment advertised will repay the transaction balance within the advertised interest free period. A monthly account fee of $9.95 applies and a one off establishment fee may apply for new customers. Under the contract, minimum monthly repayments are required and will vary depending on your credit limit. Instalment plans split eligible purchases of $300 and above into equal repayments within the interest free period. If you turn off instalments, transactions will be reverted to the minimum monthly repayment. Paying only the minimum monthly repayment may not necessarily repay a purchase within the interest free period. Any balance outstanding at the expiry of the interest free period will be charged at the standard variable interest rate, 25.9% per annum, as at 1 June 2023. Other charges may be payable, see T&Cs. Interest, fees and charges are subject to change. Terms & Conditions apply and are available on application. See your contract for further details. Credit provided by ZipMoney Payments Pty Ltd (ABN 58 164 440 993), Australian Credit Licence Number (441878).
You can select and apply an appropriate plan based on your cart value at checkout.
-
3-12 mo instalmentsLatitude
-
Pay at Your PaceZip
Payment options | Interest | Total* |
---|---|---|
$23.36/mo (3 mo) minimum purchase of $50 | 0% | $70.06 |
** Latitude: Monthly credit card fee (currently $10.95) will apply. Equal monthly repayments apply, account fees, late fees apply. Provider may charge interest. Exclusions apply. For more details click on Learn more above. You acknowledge that credit is provided to you by Latitude Finance Australia ABN 42 008 583 588, Australian Credit Licence number 392145, and the instalment plan is subject to the terms and conditions imposed on you by Latitude. Equal monthly repayments apply (exact amounts specified in your Latitude statement) and card fees will be charged by Latitude. If you fail to make your minimum monthly payment for two consecutive months, you agree that your equal monthly payment plans (Instalment Interest Free Promotion) with a term of fewer than 33 months will change into a minimum monthly payment plan (Interest Free Promotion) for the remaining duration of the initial plan term. If you fail to make a payment on time, Latitude will charge late fees. Latitude will also charge interest on any outstanding balance at the end of the instalment plan period you select at the rate set out in its T&Cs (currently 29.99% p.a.). Interest may also apply to other Latitude credit card transactions or if you do not comply with the Latitude T&Cs.
Account type | Interest |
---|---|
Zip Pay | Always interest free^ |
Zip Money | 12 mo interest free,
25.9% p.a. thereafter* |
^Zip Pay: This is a credit product and is interest free. Minimum monthly repayments are required. A monthly account fee of $9.95 is charged by Zip and is subject to change. Pay your closing balance in full by the due date each month and Zip will waive the fee. Available to approved applicants only and subject to completion of satisfactory credit assessment by Zip. Other charges may be payable. Fees and charges subject to change. Zip T&Cs apply. T&Cs available on application. See your Zip contract for further details. Credit provided by Zip Money Payments Pty Ltd (ABN 58 164 440 993), Australian Credit Licence Number 441878.
*Zip Money: Interest free term subject to minimum spend and promotional partner offer. Available to approved applicants only and subject to completion of satisfactory credit check. The repayment advertised will repay the transaction balance within the advertised interest free period. A monthly account fee of $9.95 applies and a one off establishment fee may apply for new customers. Under the contract, minimum monthly repayments are required and will vary depending on your credit limit. Instalment plans split eligible purchases of $300 and above into equal repayments within the interest free period. If you turn off instalments, transactions will be reverted to the minimum monthly repayment. Paying only the minimum monthly repayment may not necessarily repay a purchase within the interest free period. Any balance outstanding at the expiry of the interest free period will be charged at the standard variable interest rate, 25.9% per annum, as at 1 June 2023. Other charges may be payable, see T&Cs. Interest, fees and charges are subject to change. Terms & Conditions apply and are available on application. See your contract for further details. Credit provided by ZipMoney Payments Pty Ltd (ABN 58 164 440 993), Australian Credit Licence Number (441878).
{"desktop_buybox_group_1":[{"displayPrice":"$70.06","priceAmount":70.06,"currencySymbol":"$","integerValue":"70","decimalSeparator":".","fractionalValue":"06","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"Fnqla4UxnUw102Q6mfrA1SRFCe0vyLfZbXEt2tzAujbVNc%2B3TDBTuCPdlcUeFa4gEDcfh79Ern%2F4SAXjGNUsa6pEvv9u1ACEtF0MF1W3sVznQgmcfcwaPoMaGqm%2B7IZfjwcaN2Kyy3AB1YHZF7j3cjNfEuSFoqX9","locale":"en-AU","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}
Purchase options and add-ons
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.
- Print length710 pages
- LanguageEnglish
- PublisherO'Reilly Media
- Publication date30 December 2008
- Dimensions17.78 x 4.32 x 23.34 cm
- ISBN-100596514980
- ISBN-13978-0596514983
Frequently bought together

This item: Real World Haskell: Code You Can Believe in
$70.06$70.06
Get it as soon as Friday, July 4
Only 1 left in stock (more on the way).
$72.05$72.05
Get it as soon as Friday, July 4
Only 1 left in stock (more on the way).
$53.18$53.18
Get it 10 - 18 Jul
Only 2 left in stock.
Total Price: $00$00
To see our price, add these items to your cart.
Try again!
Added to Cart
Add all 3 to Cart
Some of these items dispatch sooner than the others.
Choose items to buy together.
Customers who viewed this item also viewed
Page 1 of 1 Start again
Product description
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.
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
- Publisher : O'Reilly Media
- Publication date : 30 December 2008
- Edition : Illustrated
- Language : English
- Print length : 710 pages
- ISBN-10 : 0596514980
- ISBN-13 : 978-0596514983
- Item weight : 916 g
- Dimensions : 17.78 x 4.32 x 23.34 cm
- Best Sellers Rank: 418,232 in Books (See Top 100 in Books)
- 42 in Functional Software Programming
- 101 in Online Shopping
- 776 in Software Development (Books)
- Customer Reviews:
About the authors
Follow authors to get new release updates, plus improved recommendations.
Discover more of the author’s books, see similar authors, read book recommendations and more.
Discover more of the author’s books, see similar authors, read book recommendations and more.
Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
4.6 out of 5 stars
4.6 out of 5
117 global ratings
How are ratings calculated?
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyses reviews to verify trustworthiness.
Top reviews from Australia
There are 0 reviews and 1 rating from Australia
Top reviews from other countries
- Avid ReaderReviewed in the United Kingdom on 14 December 2016
5.0 out of 5 stars Excellent book to get you into Haskell
Format: PaperbackVerified PurchaseAfter a lifetime of programming in declarative languages like C, C++ and Java, I find it difficult to switch into the functional programming mindset. I suspect this is more to do with my age than anything else. I’m particularly interested in how to build systems that effectively make use of modern multi-core computers, assuming that we’ll soon have computers with hundreds of cores. In spite of what some experts say, I have grave doubts about our ability to reliably build such systems in the likes of Java; yes, there will some people who will be able to do it, but how will the common or garden developer do it?
Enter functional programming. Erlang has the ability to succeed with multi-cores, though I have my doubts about its efficiency; it’s great for network-heavy applications, but is it quite so great for compute-intensive apps? I’m not convinced yet that functional programming (Erlang excepted) has the ability *right now* to build hugely scalable multi-core apps - but I think the potential is there, and any developer putting the effort into becoming proficient at functional programming may be hugely rewarded in the future.
Given this hypothesis, how to go about it? Haskell has a reputation of being an extremely pure functional language. It also has a reputation of being very hard to learn. This is where “Real World Haskell” comes in. If you study this book right to the end, you’ll have made the mindset switch. Be warned though, it has 650 pages and is heavy going. Not because it’s badly written; on the contrary, it’s written very well. It’s because there’s a huge amount of technical stuff to put over. Recursion, folds, partial functions, lambda functions, typeclasses, and monads anyone? (Write programs using recursion in Java etc, and get used to stack overflows; not the best way to write highly stable apps).
Back in the 1990s I went through another mindset switch - from procedural thinking to object thinking. I’m finding this one harder. After studying a couple of hundred pages, and having studied Erlang previously, I began to experience the mindset switch. Unfortunately it was fragile, one minute I was thinking functionally and the next back to declarative. The real world intervened though, and I had to stop the study; so I slid back to declarative thinking. Real soon now I’m going to take another run at it. Of all the Haskell books, this is the one I’ll use. I’ve found others either too simple or too academic; for me, this book is just right.
- GBReviewed in Germany on 16 May 2014
5.0 out of 5 stars Not an easy read, but definitely brilliant and worth studying
Format: PaperbackVerified PurchaseHaving a background in science, with this book I felt the way I used to feel with college textbooks back in my student days - you're happy if you can digest a page or two in a day. But once you understood the stuff, the knowledge becomes a part of your internal thinking and reasoning.
Chapter 10 with its ad-hoc monadic parser is ``a newbie killer''. The discussions of parseByte on the website with the text of the book helps. Reading on the state monad helps to understand the chapter too.
- Max CantorReviewed in the United States on 5 January 2009
5.0 out of 5 stars Excellent, paradigm shifting book
Format: PaperbackVerified PurchaseBefore purchasing RWH, I had already read the whole book on its website in beta form. Even though I have a decent amount of haskell experience, I was very very pleased with this book. So much so, that I bought the hard copy to have as a reference and because part of me felt like I owed to the authors. I should also note that the authors are often in #haskell and each of them have been extremely helpful to me in the past.
The authors do a great job of explaining the value of taking on the challenge of coding in a pure, functional language. As clock speeds stagnate and the number of cores available to programmers increases, this will only become truer with time. As the authors demonstrate, Haskell is uniquely positioned to take advantage of this new paradigm. The other paradigm shift is that this is the first major book (AFAIK) to address Haskell from a practical as opposed to academic perspective. It does so with shining colors.
I can't recommend RWH strongly enough for anyone considering Haskell. As a last note, even if you can't conceive of a single time that you will ever need to use Haskell, learn it anyway. It will blow your mind. Check the canonical powerset of a list function below if you still need convincing:
powerset :: [a] ->
powerset = filterM (const [True, False])