Resources for learning Haskell

Resources for learning Haskell


I'll be updating this page through out 2022

Haskell is a functional programming language that originated in the 1990s. Like most functional programming languages, Haskell has a reputation for being particularly challenging to learn for newcomers to this paradigm. Over the decades, it has built a legendary cult status amongst programmers. Here are some resources to help you conquer this language.

Functional Programming in Haskell: Supercharge Your Coding - online course at FutureLearn.

Free to undertake, the FeatureLearn functional programming course is divided up into six weeks of two hours study per week. Created by the University of Glasgow - widely considered the home of Haskell - this course is equal part code exercises and part video tutorials. By the end of the course, there is an assumed knowledge of advanced mathematics that some will find intimidating.

The Haskell Phrasebook website is a "is a free quick-start Haskell guide comprised of a sequence of small annotated programs."

Packt Publishing online courses Learning Haskell Programming and the Fundamentals of Practical Haskell Programming by Hakim Cassimally and Richard Cook respectively.

Haskell Programming From First Principles by Christoph Allen and Julie Moronuki.

At nearly 2k pages, this is currently the main book which Haskell neophytes learn from. Groups form their own study circles, such as organised by the Berlin Functional Programming Group, and readers use the IRC channels #haskell and #haskell-beginners


Programming in Haskell by Graham Hutton


As well as being the author of Programming in Haskell, Graham Hutton is a Professor of Computer Science at the University of Nottingham. He leads the undergraduate Haskell module. During the pandemic, the university switched to online learning and Graham uploaded his pre-recorded tutorials to YouTube.

For an IDE, use Visual Studio Code and its Haskell plugins. You will also need to download and install the Glasgow Haskell Compiler, Cabal build system and the Stack tool. An alternative to is to use the browser IDE, Repl. An advantage of using Repl is it will allow you to quickly spin your Haskell code into a server environment (apparently, I haven't tried this yet).

Please leave any other recommendations in the comments.

Share this