Skip to Content
Beginning Haskell: A Project-Based Approach
book

Beginning Haskell: A Project-Based Approach

by Alejandro Serrano Mena
January 2014
Beginner
428 pages
14h 1m
English
Apress

Overview

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.

  • What you'll learn

  • Build small and large projects using the Haskell language.

  • Profit from ecosystem tools such as Cabal, HLint, and QuickCheck.

  • Implement efficient stream I/O via libraries like Conduit.

  • Parallelize code to run on multiple processors or distributed across a network.

  • 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, and Scotty

  • 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 type system features and patterns.

    Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
    and much more.

    Read now

    Unlock full access

    More than 5,000 organizations count on O’Reilly

    AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

    QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
    Julian F.
    Head of Cybersecurity
    QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
    Addison B.
    Field Engineer
    QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
    Amir M.
    Data Platform Tech Lead
    QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
    Mark W.
    Embedded Software Engineer

    You might also like

    Methods in Algorithmic Analysis

    Methods in Algorithmic Analysis

    Vladimir A. Dobrushkin
    Functional Programming in Scala

    Functional Programming in Scala

    Runar Bjarnason, Paul Chiusano
    View-based 3-D Object Retrieval

    View-based 3-D Object Retrieval

    Yue Gao, Qionghai Dai

    Publisher Resources

    ISBN: 9781430262503Purchase book