By Bryan O'Sullivan, Don Stewart, and John Goerzen. I've been wanting to learn Haskell for a couple years -- played with it a little, but never got very far. I'm a couple chapters in and so far it's very readable. Bryan O'Sullivan, one of the authors, also wrote Distributed revision control with Mercurial, which is a great book on mercurial.