Buch, Englisch, 428 Seiten, Book, Format (B × H): 178 mm x 254 mm, Gewicht: 804 g
A Project-Based Approach
Buch, Englisch, 428 Seiten, Book, Format (B × H): 178 mm x 254 mm, Gewicht: 804 g
ISBN: 978-1-4302-6250-3
Verlag: Apress
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 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. 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 patterns in real-world scenarios.
Zielgruppe
Popular/general
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
Part I: First Steps1. Going Functional2. Declaring the Data Model3. Reusing Code through Lists4. Using Containers and Type Classes5. Laziness and Infinite StructuresPart II: Data Mining6. Knowing Your Clients Using Monads7. More Monads: Now for Recommendations8. Parallelizing the ExecutionPart III: Resource Handling9. Dealing with Files: IO and Conduit10. Builders and Parsers11. Safe Database Access12. Web ApplicationsPart IV: Domain Specific Languages13. Strong Types14. Attribute GrammarsPart V: Engineering the Store15. Documenting, Testing, and Verifying16. Architecting Your ApplicationAppendix AAppendix B