Get a practical, hands-on introduction to the Haskell language, its libraries and environment, and to the functional programming paradigm that is fast growing in importance in the software industry. This book contains excellent coverage of the Haskell ecosystem and supporting tools, which include the Cabal build tool for managing projects and modules, the HUnit and QuickCheck tools for software testing, the Scotty framework for developing web applications, Persistent and Esqueleto for database access, and parallel and distributed programming libraries.
You'll see how functional programming is gathering momentum, allowing you to express yourself in a more concise way, reducing boilerplate, and increasing the safety of your code. Haskell is an elegant and noise-free pure functional language with a long history, having a huge number of library contributors and an active community. This makes Haskell the best tool for both learning and applying functional programming, and Practical Haskell takes advantage of this to show off the language and what it can do.
One point detected for many typos in the text and code snippets (easily caught and corrected if one is alert) that could have been avoided if not for sloppy editing, but otherwise an excellent book on intermediate Haskell. It starts with the basics of FP in Haskell and goes all the way to instruct on intermediate topics like Monads (esp. IO), Concurrency/Parallelism, DB/Web frameworks/libraries, Testing etc. so that the language can be used for practical projects.