Practical Haskell: A Real World Guide to Programming
Authors: Alejandro Serrano Mena
ISBN-10: 1484244796
ISBN-13: 9781484244791
Edition 版次: 2nd ed.
Publication Date 出版日期: 2019-04-28
Print Length 页数: 595 pages
Book Description
By finelybook
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
Part 1. 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 ll. Data Mining
6. Knowing Your Clients Using Monads
7. More Monads: Now for Recommendations
8. Working in Several Cores
Part ll. Resource Handling
9. Dealing with Files: IO and Conduit
10. Building and Parsing Text
11. Safe Database Access
12. Web Applications
Part lV. Domain Specifhc Languages
13. Strong Types for Describing Offers
14. Interpreting Offers with Attributes
Part V. Engineering the Store
15. Documenting,Testing,and Verifying
16. Architecting Your Application
17. Looking Further