Alejandro Serrano Mena | 2 Feb 17:49 2014

New book: "Beginning Haskell"

[Disclaimer: I'm the author of the book]

Dear Haskell-cafe,

I would like to introduce a new book discussing our favourite language from beginner into upper intermediate level: "Beginning Haskell". The book starts assuming zero knowledge about functional programming and builds step by step to get into the realm of web applications, type-level programming, domain specific languages, distributed computing, unit testing and much more! You can look at the Table of Contents in Amazon [].

The book revolves around the idea of a Time Machine Store: in each part some functionality is developed. The first part serves as an introduction and how to model the data with Haskell data types and functions; part 2 discusses many concepts around monads while developing two data-mining algorithms; in the third part storing and interfacing with clients serves as an excuse to introduce input/output, database access and web applications; part 4 is devoted to discussing domain specific libraries for describing offers; and the last part discusses testing and other engineering issues.

All the "classical" topics in Haskell are discussed: higher-order functions, type classes -- functors, applicatives, monads --, laziness. The focus also lies on libraries use in modern Haskell daily programming, such as lenses, streaming data libraries, functional dependencies and type families, Software Transactional Memory and Cloud Haskell. One topic that is cross-cutting through the book is how to manage projects with Cabal or EclipseFP: initializing a new package, declaring dependencies, building and integrating tests. The book tries thus to offer a comprehensive view of the Haskell ecosystem, not only of the Haskell programming language.

The book is published by Apress [] and available as paperback and electronic format. If somebody would like to make a review for some FP or programming-related magazine (such as The Monad Reader) or assess its possibilities for use in classroom, please drop me a line.

Hope you like it! :)
Haskell-Cafe mailing list
Haskell-Cafe <at>