Description
Book SynopsisGet 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.
Table of Contents
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