May 24

Tim O'Reilly

Tim O'Reilly

Real World Haskell title under development

We've been following the resurgence of interest in functional programming, and have been hearing about increasing numbers of our readers experimenting with languages like Haskell. So I'm delighted to announce that we're working with Bryan O’Sullivan, Don Stewart and John Goerzen on a book tentatively entitled Real World Haskell. From the authors' site:

The plan is to cover the major techniques used to write serious, real-world Haskell code, so that programmers can just get to work in the language. By the end of the book readers should be able to write real libraries and applications in Haskell, and be able to:

  • design data structures
  • know how to write, and when to use, monads and monad transformers
  • use Haskell’s concurrency and parallelism abstractions
  • be able to write parsers for custom formats in Parsec.
  • be able to do IO and binary IO of all forms
  • be able to bind Haskell to foreign functions in C
  • be able to do database, network and gui programming
  • know how to do exception and error handling in Haskell
  • have a good knowledge of the core libraries
  • be able to use the type system to track and prevent errors
  • take advantage of tools like QuickCheck, Cabal and Haddock
  • understand advanced parts of the language, such as GADTs and MPTCs.

This project is also of interest to us because it is one of our many experiments in building books "in the open" on a wiki or other collaborative tool. The authors will be publishing chapters incrementally, and seeking feedback from reviewers and readers as they go. The book will be under a Creative Commons license.

(Some other collaborative development projects we've undertaken over the years include The Python Cookbook, which we developed as a community project in conjunction with ActiveState and the The Asterisk Cookbook, which is currently under development. (Update: Our digital media publisher, Laurie Petrycki, reminded me that we've also got The Flex Cookbook under development as a community project together with Adobe.) We've also put out lots of books under CC or other open licenses (see, but often those books were developed by conventional means. Here we're trying to put both pieces together.

If you're interested in Haskell, check out the book as it develops. If you're interested in helping while you learn, Brian, Don and John are looking for tech reviewers. A big part of developing a book is figuring out what people need to know. So your questions may be as helpful to them as your answers.

tags: web 2.0  | comments: 8   | Sphere It

Previous  |  Next

0 TrackBacks

TrackBack URL for this entry:

Comments: 8

  Andrew Odewahn [05.24.07 08:10 AM]

For even more info on Haskell, check out this article just published on the O'Reilly Network:

An Introduction to Haskell

  Jaap Weel [05.24.07 10:54 AM]

This is awesome news.

There are also some existing texts about Haskell that are very well written, and publicly available under liberal license, but have not been published in print by a major tech publisher. In particular, I would probably be willing to pay for a printed, bound, textbook-sized version of the Gentle Introduction and the Haskell 98 report, which together make a good reference text on the language.

  Anonymous [05.24.07 12:14 PM]

Does this mean that the chances of an O'Reilly Lisp book have gone up?

  Stefan Ciobaca [05.24.07 12:25 PM]

Please include a chapter on debugging ;-)
And another one on estimating time/space complexity.

  joseph knecht [05.24.07 12:40 PM]

This is great news. Haskell is a fascinating language that needs more books.

I can't wait to buy this one.

  Tony Perrie [05.24.07 01:44 PM]

I've tried both Erlang and Haskell, and Haskell seems to make much more sense to me. Erlang's syntaxe is truly bizarre and debugging problems seems unnecessarily difficult. This led me to wonder why people seem to be more interested in Erlang than Haskell.

  Chris Pike [07.09.07 11:31 PM]

Agreed on the debugging topic! I just spent a whole month trying to finish a uni assignment in Haskell, got literally nowhere for the first 3 weeks despite working on it daily owing to absolutely terrible compiler feedback!!!!!

  Terry Michaels [08.16.07 01:55 PM]

My interest in Haskell stems from my interest in Perl and Perl 6. The Pugs project deals with implementing Perl 6 and is written in Haskell which sent me scrambling to find out what the heck Haskell is. It has been a bit of a slow start for me to start learning Haskell. The textbooks I have acquired give the initial impression that IO in Haskell is some monstrously difficult complicated subject. It seems that these books spend an inordinate amount of time before they show the user how to read and process input from a file (I am still looking for this ...).
These are the books I am looking at:
"Programming in Haskell" by Graham Hutton
"Haskell: The Craft of Functional Programming" by
Simon Thompson

"To Mock a Mockingbird" by Raymond Smullyan
(I hope to get an inkling into combinatory logic with this, it remains to be seen...).

When I first started to teach myself Perl, it seemed to be a steep uphill climb, learning new ideas and syntax. Now I use perl on a daily basis and consider it an indispensable tool.

If this book proposal can help beginners by getting them kick-started with practical lessons and save the theoretical under-pinnings for later,
then it would be certainly something I would be interested in.

Thanks for listening!

Post A Comment:

 (please be patient, comments may take awhile to post)

Type the characters you see in the picture above.