0%

Book Description

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, include Cabal and Stack for managing projects, HUnit and QuickCheck for software testing, the Spock 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.

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. 


Table of Contents

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