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.