{"product_id":"9781430262510","title":"Beginning Haskell: A Project-Based Approach","description":"\u003cp\u003e\u003cem\u003eBeginning Haskell\u003c\/em\u003e 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 HUnit and QuickCheck tools for software testing, the Scotty framework for developing web applications, Persistent and Esqueleto for database access, and also parallel and distributed programming libraries. \u003c\/p\u003e\u003cp\u003eFunctional 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. \u003c\/p\u003e\u003cul\u003e\n\u003cli\u003eTakes you through a series of projects showing the different parts of the language. \u003c\/li\u003e\n\u003cli\u003eProvides an overview of the most important libraries and tools in the Haskell ecosystem. \u003c\/li\u003e\n\u003cli\u003eTeaches you how to apply functional patterns in real-world scenarios. \u003c\/li\u003e\n\u003c\/ul\u003eWhat youll learn\u003cul\u003e\n\u003cli\u003eBuild small and large projects using the Haskell language. \u003c\/li\u003e\n\u003cli\u003eProfit from ecosystem tools such as Cabal, HLint, and QuickCheck. \u003c\/li\u003e\n\u003cli\u003eImplement efficient stream I\/O via libraries like Conduit. \u003c\/li\u003e\n\u003cli\u003eParallelize code to run on multiple processors or distributed across a network. \u003c\/li\u003e\n\u003cli\u003eCreate domain-specific languages useable by business users, and to tackle specific problem domains. \u003c\/li\u003e\n\u003cli\u003eBuild Haskell-backed websites using database and web-application libraries such as Persistent, Esqueleto, and Scotty\u003c\/li\u003e\n\u003c\/ul\u003eWho this book is for      \u003cp\u003e     \u003cem\u003eBeginning Haskell\u003c\/em\u003e is for programmers new to functional programming, who want to learn this new paradigm and how it can improve the quality of their code. \u003cem\u003eBeginning Haskell\u003c\/em\u003e 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 type system features and patterns.      \u003c\/p\u003e     Table of Contents\u003cp\u003e\u003cstrong\u003ePart I: First Steps\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e1. Going Functional\u003c\/p\u003e\u003cp\u003e2. Declaring the Data Model\u003c\/p\u003e\u003cp\u003e3. Reusing Code through Lists\u003c\/p\u003e\u003cp\u003e4. Using Containers and Type Classes\u003c\/p\u003e\u003cp\u003e5. Laziness and Infinite Structures\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003ePart II: Data Mining\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e6. Knowing Your Clients Using Monads\u003c\/p\u003e\u003cp\u003e7. More Monads: Now for Recommendations\u003c\/p\u003e\u003cp\u003e8. Parallelizing the Execution\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003ePart III: Resource Handling\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e9. Dealing with Files: IO and Conduit\u003c\/p\u003e\u003cp\u003e10. Builders and Parsers\u003c\/p\u003e\u003cp\u003e11. Safe Database Access\u003c\/p\u003e\u003cp\u003e12. Web Applications\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003ePart IV: Domain Specific Languages\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e13. Strong Types\u003c\/p\u003e\u003cp\u003e14. Attribute Grammars\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003ePart V: Engineering the Store\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003e15. Documenting, Testing, and Verifying\u003c\/p\u003e\u003cp\u003e16. Architecting Your Application\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eAppendix A\u003c\/p\u003e\u003cp\u003eAppendix B\u003c\/p\u003e","brand":"Apress","offers":[{"title":"Default Title","offer_id":47300810342640,"sku":"9781430262510","price":34.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0737\/7593\/9824\/files\/9781430262510_p0.jpg?v=1763751068","url":"https:\/\/shop-qa.barnesandnoble.com\/products\/9781430262510","provider":"Barnes \u0026 Noble (DEV)","version":"1.0","type":"link"}