Skip to main content
  • Book
  • © 2014

Beginning Haskell

A Project-Based Approach

Apress
  • Beginning Haskell provides a project-based introduction to Haskell, its use in creating domain-specific languages, to ecosystem elements such as the Cabal build tool and the Quick.

  • Check testing tool, and to the very latest libraries such as Conduit for data streaming, Cloud Haskell for distributed computing, and the Scotty web framework.

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (18 chapters)

  1. Front Matter

    Pages i-xxiii
  2. First Steps

    1. Front Matter

      Pages 1-1
    2. Going Functional

      • Alejandro Serrano Mena
      Pages 3-13
    3. Declaring the Data Model

      • Alejandro Serrano Mena
      Pages 15-45
    4. Reusing Code Through Lists

      • Alejandro Serrano Mena
      Pages 47-76
    5. Using Containers and Type Classes

      • Alejandro Serrano Mena
      Pages 77-109
    6. Laziness and Infinite Structures

      • Alejandro Serrano Mena
      Pages 111-129
  3. Data Mining

    1. Front Matter

      Pages 131-131
    2. Knowing Your Clients Using Monads

      • Alejandro Serrano Mena
      Pages 133-160
    3. More Monads: Now for Recommendations

      • Alejandro Serrano Mena
      Pages 161-185
    4. Working in Several Cores

      • Alejandro Serrano Mena
      Pages 187-205
  4. Resource Handling

    1. Front Matter

      Pages 207-207
    2. Dealing with Files: IO and Conduit

      • Alejandro Serrano Mena
      Pages 209-234
    3. Building and Parsing Text

      • Alejandro Serrano Mena
      Pages 235-258
    4. Safe Database Access

      • Alejandro Serrano Mena
      Pages 259-276
    5. Web Applications

      • Alejandro Serrano Mena
      Pages 277-294
  5. Domain Specific Languages

    1. Front Matter

      Pages 295-295
    2. Strong Types for Describing Offers

      • Alejandro Serrano Mena
      Pages 297-331
    3. Interpreting Offers with Attributes

      • Alejandro Serrano Mena
      Pages 333-352
  6. Engineering the Store

    1. Front Matter

      Pages 353-353

About this book

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.

About the author

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.

Bibliographic Information

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Other ways to access