Beginning Haskell

Beginning Haskell : A Project-Based Approach

3.34 (32 ratings by Goodreads)

Free delivery worldwide

Available. Dispatched from the UK in 2 business days
When will my order arrive?


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.
show more

Product details

  • Paperback | 428 pages
  • 190.5 x 231.14 x 30.48mm | 861.82g
  • aPress
  • Berlin, Germany
  • English
  • 1st ed.
  • 44 Illustrations, black and white; XX, 428 p. 44 illus.
  • 1430262508
  • 9781430262503
  • 778,444

Table of contents

Part I: First Steps

1. Going Functional

2. Declaring the Data Model

3. Reusing Code through Lists

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. Parallelizing the Execution

Part III: Resource Handling

9. Dealing with Files: IO and Conduit

10. Builders and Parsers

11. Safe Database Access

12. Web Applications

Part IV: Domain Specific Languages

13. Strong Types

14. Attribute Grammars

Part V: Engineering the Store

15. Documenting, Testing, and Verifying

16. Architecting Your Application

Appendix A

Appendix B
show more

About Alejandro Serrano Mena

Alejandro Serrano Mena is working towards his PhD thesis inthe Software Technology group in Utrecht University. He is passionate forfunctional programming, and has been coding Haskell for personal andprofessional projects for more than five years. During his college years he wasactive in an association promoting functional languages among students, givingtalks and helping programmers get started in the functional paradigm. In 2011he took part in the Google Summer of Code program, enhancing the Haskellplug-in for the popular development environment Eclipse. His current positioninvolves research for enhancing the way in which developers get feedback andinteract with strong type systems such as Haskell's.
show more

Rating details

32 ratings
3.34 out of 5 stars
5 19% (6)
4 31% (10)
3 25% (8)
2 16% (5)
1 9% (3)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X