15 Free Haskell Books & Tutorials To Help You Learn The Haskell Programming Language

If you’re looking to get a taste of functional programming, check out this list of 15 free Haskell books and tutorials to get you started.

1. Anatomy of Programming Languages

William R. Cook

Anatomy of Programming Languages is not for beginners. It is intended for people with prior programming experience. Preferably prior programming experience in Haskell. The book spends time teaching the built-in data types including lists, the basic syntax for conditionals, function definitions, function calls, list comprehensions, and how to print out strings as well as data definitions (algebraic data types) and pattern matching. Finally, there’s a quick introduction to type classes so you’ll understand how Eq and Show work.

2. Beautiful Code, Compelling Evidence: Functional Programming for Information Visualization and Visual Analytics (PDF)

J.R. Heard

Beautiful Code, Compelling Evidence was originally presented at the International Conference for Functional Programming back in 2008. The book discusses why functional programming, and more specifically Haskell, is good for graphics and also runs through some of the basic tools that exist.

3. Exploring Generic Haskell (PDF)

Andres Loh

Exploring Generic Haskell gives a complete overview of the language, systematically explains the core features of Generic Haskell, and several extensions, and provides detailed examples on how the features can be implemented

4. Developing Web Applications with Haskell and Yesod

Michael Snoyman

Developing Web Applications with Haskell and Yesod will have you building a production-quality web app with the Yesod framework. You’ll also examine several real-world examples, including a blog, a wiki, a JSON web service, and a Sphinx search server.

5. Haskell Tutorial (PDF)

Conrad Barski, M.D.

This tutorial is based on an art project called Picnic Mob that had to do with organizing flash mob mass picnics. It will walk you through how to organize a mass picnic in an arbitrarily shaped public park map in less than 100 lines of Haskell. The finished program will take a picture of a city park, take user submitted answers to random questions and, based on those answers, determine where people should sit at the flash mob picnic.

6. Haskell Web Programming: A Yesod Tutorial

Yann Esposito

Haskell Web Programming: A Yesod Tutorial will show you how to install, initialize and configure your first Yesod project. The tutorial does not dive too deep into the details. Instead, it is designed to give you a quick taste of Yesod.

7. Introduction to Haskell

Noam Zilberstein

CIS194: Introduction to Haskell uses the Haskell programming language as a vehicle to explore the joys of functional programming. Throughout the course you’ll write practical programs in Haskell and explore the language’s advanced features toward the end of the course.

8. Learn Haskell Fast and Hard: Blow your mind with Haskell

Yann Esposito

A very short and dense tutorial for learning Haskell.

9. Learn You A Haskell For Great Good

Miran Lipovaca

If you have experience programming in imperative languages like Python or Java, but have yet to experience the joys of functional programming in a language like Haskell or ML, then Learn You A Haskell For Great Good is for you.

10. Parallel and Concurrent Programming in Haskell

Simon Marlow

The main goal of Parallel and Concurrent Programming in Haskell is to get you programming competently with Parallel and Concurrent Haskell. It assumes you already have a working knowledge of Haskell. If you don’t, then some of the other books and tutorials on this list would be worth reading first.

11. Real World Haskell

Bryan O’Sullivan, Don Stewart, and John Goerzen

Real World Haskell uses dozens of code samples and examples to teach you functional programming. Throughout the book you’ll build programs that downloads podcasts and stores their history in a SQL database, takes pictures of barcodes and queries them against a bookseller’s website, experiment with the QuickCheck library to generate test cases automatically and plenty more.

12. Speeding Through Haskell (PDF)

Arya Popescu

Speeding Through Haskell is incomplete, but still contains a lot of valuable information. In order to get the most out of this book, you should have some experience in other programming languages. It was originally intended to be 15 to 20 chapters long, but the author only completed 7. Those 7 chapters cover the basics, types and polymorphism, syntax, recursion, advanced functions and fold and scans.

13. The Haskell Road to Logic, Math and Programming (PDF)

Kees Doets and Jan van Eijck

The purpose of The Haskell Road to Logic, Math and Programming is to teach logic and mathematical reasoning in practice, and to connect logical reasoning with computer programming using the Haskell programming language.

14. The Haskell School of Music: From Signals to Symphonies (PDF)

Paul Hudak

Not only does The Haskell School of Music teach functional programming from scratch, but it also teaches Euterpea, a computer music library developed in Haskell, which allows programming computer music applications both at the note level and the signal level. However, the book is still a work in progress.

15. Yet Another Haskell Tutorial (PDF)

Hal Daume´ III

The goal of the Yet Another Haskell Tutorial is to provide a complete introduction to the Haskell programming language. It assumes no knowledge of the Haskell language or familiarity with functional programming in general. However, general familiarity with programming concepts (such as algorithms) will be helpful.

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.


Leave a Reply