I’ll be brief. This is an excellent introduction to Haskell and functional programming. It doesn’t waste space on trying to explain FP in terms of imperative or OO concepts, but makes the basic ideas very natural.
In particular, it has an excellent approach to monads, which succeeds in demystifying them. However, the explanation of monad transformers is less lucid and doesn’t really get to the basic idea, which is just one type with the properties of more than one monad. As such it doesn’t quite gel.
The only real niggles are that (1) often library functions are used without explanation, (2) code in the larger examples isn’t presented in the most logical order, so one has to do some jumping back and forth, (3) there are too many typos.
But these are minor points. This is an excellent book and well worth the investment. Any serious student or Haskell programmer should own a copy.