Written by three of the most prolific and capable Haskell library developers. It covers everything from introductory functional concepts to high-performance C-style stateful programming.
You can buy a dead tree, or read it online for free.
At the time, the book seemed like a fresh breath of air, since it focused on solving real 'daily work'-style problems in Haskell. I used to recommend it to friends, but most of them were not so happy. The first few chapters are nice, but after that the examples really become contrived. Instead of giving simple standalone examples to explain a concept, the book starts using examples that tend to linger. People get bored or stuck and stop around chapter 6 to 8.
I am hopeful that Learn You a Haskell will serve as a good introduction to Haskell, and will recommend it to anyone interested.
RWH is still a fine book; once you understand Haskell, it's still great to go through the examples and exercises. But it is not a good starting point.
It definitely gets a little tough around the Parser example, but it does lighten up again once you get through the monad transformer section, though.
For someone who's done some functional programming before, Real World Haskell is probably a good starting point; otherwise something like YAHT would probably be better.
just finishing up a grad PL theory course, and RWH was definitely among the reading material. but i did find it anemic in many areas. i'll come back to that in a moment.
the pros of the book is that it offers a good introduction to the language and a reasonably good survey of some of the more advanced language features and tools such as QuickCheck, STM, concurrency/parallelism, etc.
the cons are that it leaves out one very new interesting direction called functional reactive programming, FRP, and i also thought its treatment of monads (esp. monad transformers) to be a bit thin. most of the time i just found myself going to publications on the more advanced topics than using a book such as RWH (or learnyouahaskell, which i actually quite like).
here are a few links i came across in the course that i think are worth sharing (in no particular order):
I'm working through that book right now, and it's fantastic. I'd used haskell before in class, but I definitely suffered from the "fibonacci gap." Now, I'm starting to do small scripts in haskell, and hopefully I'll be able to tackle a decently-sized project soon. I can't recommend this book highly enough if you're curious about haskell.
Written by three of the most prolific and capable Haskell library developers. It covers everything from introductory functional concepts to high-performance C-style stateful programming.
You can buy a dead tree, or read it online for free.