The Haskell programming language is one of the functional programming, while programming languages commonly used Java and C ++ are some of the imperative programming languages. If you learn Haskell, one must therefore not only a new language, but a whole new programming paradigm, learning a whole new way to program.
While the book is the language Haskell than thorough, functional programming to remain very much in the background. The Functor classes, applicative, Monoid and Monad are presented in great detail, while too little data structures are treated. Graphs and graph algorithms are completely absent and are only briefly touched on the Shortest Path Chapter. And just here have their difficulties functional programming languages. The advantages of functional languages when reasoning about program properties, such Equational Reasoning, Programmdeduktion and correctness proofs, however, come up short.
The book is a good introduction to Haskell, but you should at least read another book on the techniques of functional programming. The classic was back in the 90s of Bird and Wadler Introduction to Functional Programming. Since the actual functional programming is much more fully explained. There were also many issues of today, such. As the monads not yet, so there was more space for the actual core, functional programming.