When I learned Haskell, there were hardly any books on the subject at all, and those that did exist weren’t really targeting professional software developers. So I wound up learning primarily from academic papers, which was a struggle, as you might imagine. I am happy to report that the need for that sort of thing is now officially over.
Real World Haskell is an excellent book. It covers all the basics, it covers common application development areas such as web, GUI, and database programming, and it covers real world needs like unit testing and performance profiling. It’s worth the price just for the coverage of monads and monad transformers.
A working copy of the book was online while it was being written, and many, many people (self included) contributed feedback along the way, which the authors graciously accepted and used to improve the book. So I had read parts of the book online already before I ever picked up the book in the book store. Still, I was surprised to see how much there was that I hadn’t read before, and also at how much more compelling it was in book form. Even if you’ve read the online version, you might still want to go buy the book.
The authors bring a great deal of knowledge and experience to the work, and I was very grateful for their observations and advice on Haskell software engineering and good style. The book is filled with little flashes of insight, and some very elegant code. If you want to be serious about Haskell, you want this book.