I have mixed feelings about this book.

It starts really really well, explaining how the language works. And then it falls on the trap of "functional programming" that, instead of focusing on what you can do with the language, it goes lengths talking about monads, monoids, functors and nondeterminism that you keep wondering why it is taking so long explaining function programming instead of focusing on what you can do and when you should use one.

There is even a bad description of "don't do this because it will look horrible when you convert to this other form". Wondering if something will look horrible if you write the same thing in a different form should never be a deterrent for something.

Also, there is the language. Surely, Haskell adds a missing point in Lisp, which are the types, but them it goes off the rails trying to remove parenthesis and the result is a mass of weird symbols, all representing the same thing. And you have, as I mentioned before, different forms to write the same code, which makes the language highly irregular, one trait that really pisses me off in programming languages.