- Full Description
Beginning Haskell provides a broad-based 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. The book takes a project-based approach to learning the language that is unified around the building of a web-based storefront. Excellent coverage is given to the Haskell ecosystem and supporting tools. These include the Cabal build tool for managing projects and modules, the QuickCheck tool for software testing, web frameworks such as Yesud and Snap, and the Persistent and Esqueleto database access libraries.
Functional programming is gathering momentum, allowing programmers to express themselves in a more concise way, reducing boilerplate and increasing the safety of code. Indeed, mainstream languages such as C# and Java are adopting features from functional programming, and from languages implementing that paradigm. 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 Beginning Haskell the perfect book to show off the language and what it can do.
- Takes you through a series of projects showing the different parts of the language.
- Provides an overview of the most important libraries and tools in the Haskell ecosystem.
- Teaches you how to apply functional design patterns in real-world scenarios.
What youll learn
- Build small and large projects using the Haskell language.
- Profit from ecosystem tools such as Cabal and QuickCheck.
- Implement data streaming for I/O via the Conduit library.
- Easily parallelize code to run concurrently on multiple processors.
- Create domain-specific languages useable by business users, and to tackle specific problem domains.
- Build Haskell-backed websites using database and web-application libraries such as Persistent, Esqueleto, Yesud, and Snap
Who this book is for
Beginning Haskell is for programmers new to functional programming, who want to learn this new paradigm and how it can improve the quality of their code. Beginning Haskell is also a great choice for functional programmers wanting to get a taste of the Haskell ecosystem and its unique features, or who wish to learn about advanced functional design patterns.
- Table of Contents
Table of ContentsPart I. First Steps
1. Going Functional
2. Declaring the Data Model
4. Non-List Containers
5. Laziness and Infinite Structures
Part II. Data Mining
6. Monads for Classification
7. Monads for Recommendation
8. Parallelizing the Execution
Part III. Resource Handling
9. Dealing with Files
10. Builders and Parsers: The Applicatives Pattern
11. Safe Database Access
12. Web Applications
Part IV. Domain Specific Languages
13. Dependent Types for Business Rules
14. Behavior with Attribute Grammars
15. Three Faces of Verification
If you think that you've found an error in this book, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.No errata are currently published