This is a very interesting book. Do not expect to learn Haskell with this book as it is more aimed at teaching you functional programming using Haskell. I would recommend you have another book on Haskell as well. The book takes a mathematical approach, is very well, and clearly written. There are a lot of exercises and comprehensive answers. However I have had to reread several chapters to fully understand the book. I am finding that following this book imrpoves your programming in other methods as well as it gets you thinking in a more logical manner. Highly recommended to anyone considering functional programming in any of the functional languages.