Practical Haskell (3rd Ed., 3rd ed.)
A Real-World Guide to Functional Programming

Author:

Language: English

63.29 €

In Print (Delivery period: 15 days).

Add to cartAdd to cart
Publication date:
595 p. · 17.8x25.4 cm · Paperback

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 updated edition includes more modern treatment of Haskell's web framework and APIs.

This book contains excellent coverage of the Haskell ecosystem and supporting tools, including Cabal and Stack for managing projects, HUnit and QuickCheck for software testing, WAI and Elm to develop the back end and front end of 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, Third Edition takes advantage of this to show off the language and what it can do.  Free source code available on the Apress GitHub page for this book.

What You Will Learn

  • Get started programming with Haskell
  • Examine the different parts of the language
  • Gain an overview of the most important libraries and tools in the Haskell ecosystem
  • Apply functional patterns in real-world scenarios
  • Understand monads and monad transformers
  • Proficiently use laziness and resource management

Who This Book Is For

Experienced programmers who may be new to the Haskell programming language. However, some prior exposure to Haskell is recommended.

Part I: First Steps.- 1. Going Functional.- 2. Declaring the Data Model.- 3. Increasing Code Reuse.- 4. Using Containers and Type Classes.- 5. Laziness and Infinite Structures.- Part II: Data Mining.- 6. Knowing Your Clients Using Monads.- 7. More Monads: Now for Recommendations.- 8. Working in Several Cores.- Part III: Resource Handling.- 9. Dealing with Files: IO and Conduit.- 10. Building and Parsing Text.- 11. Safe Database Access.- 12. Web Applications.- Part IV: Domain Specific Languages.- 13. Strong Types.- 14. Interpreting Offers with Attributes.- Part V: Engineering the Store.- 15. Documenting, Testing, and Verifying.- 16. Architecting Your Application.- 17. Looking Further.

Alejandro Serrano Mena has more than a decade of experience as a developer, trainer, and researcher in functional programming, with an emphasis on Haskell and related languages. He holds a Ph.D. from Utrecht University on the topic of error message customization in compilers. He's an active member of the community, maintaining a few open-source projects, writing books about Haskell, and collaborating on podcasts and conferences.

Includes data science applications such as data mining, monads, algorithms, and parallelization Offers a real world guide to programming and web development using Haskell Covers functional programming that is of growing importance to developers today