Learning Haskell: A Resource Guide

Article by Denis Oleynikov
Friday, September 13th, 2019

One of the most common difficulties that all of us face when we decide to start learning something new – we just don’t know where to start and where to learn.

If earlier there was a problem to find a book, tutorial or course – now you can find a lot of web sources with good materials and tons of refuse at the same time. We have prepared a small springboard for you – a list of educational Haskell sources that have been verified by our specialists.

Here’s our list. Reviews are one little scroll below.

Learn You a Haskell
Type Classes
Programming in Haskell
Code Wars
Exercism
Haskell Weekly Podcast
Haskell For All
What I Wish I Knew When Learning Haskell
Matt Parsons’ Blog
Monday Morning Haskell

First day at school

Learn You a Haskell

http://learnyouahaskell.com/
Book
Suitable for: newbies

Learn You a Haskell is a great non-trivial source of knowledge for beginners in the functional programming world. In addition to online material, there is a paper version of LYAH for people who prefer books instead of web sources, it costs $32 on Amazon. All of these materials are prepared and written by Miran Lipovača, a Slovenian computer science student.

It’s convenient for learning Haskell – well-illustrated, step-by-step guide with references to pop-culture.

Also, it has 4.3 rating on Goodreads and the online version is completely free.

“This is a fantastic book and I highly recommend it as the first book on Haskell — and possibly even the second." — Michael Fogus, author of The Joy of Clojure

Type Classes

https://typeclasses.com/
Courses
Suitable for: all levels

Type Classes provides courses and reference materials for learning Haskell. Type Classes Consulting was created by Julie Moronuki, author of Haskell Programming From First Principles, and Chris Martin – former CTO and cofounder of Fold, an app for shopping with bitcoin.

Type Classes can be really helpful for all kind of programmers who want to learn Haskell. Courses are more theoretical than practical, but they are great for beginners. Subscription costs $29 per month (or 300 per year), but it’s worth every cent you spend.

Time to practice

Already have some knowledge or have just finished your courses? Okay, let’s check your skills!

Codewars

https://www.codewars.com/?language=haskell
Code practice
Suitable for: Haskell beginners

If you want to test your skills, you can do it online on this educational service. It has not only Haskell mini-problems (katas) together with test cases, but also a lot of other code examples in different languages to boost up your level of knowledge. Before you join the community and begin to sharpen your skills, you need to choose a programming language and solve a quick problem. Don’t worry, the task is simple and we believe in you.

If you already have some experience in Haskell and don’t know why you are here reading about basic tutorials, you can kill some time by solving katas too. There are different levels of difficulty, so you won’t get bored quickly.

Exercism

https://exercism.io/
Code practice
Suitable for: all levels

Exercism is about the same, but has more features like peer reviews to improve general programming techniques and more languages to learn. Also, it is ranked by the Slant community as the #1 website for code learning. It is completely free and you don’t need to pass any tests before you can start your quest of becoming a black-belted Haskeller.

What else?

We have prepared some good sources to keep your finger on the pulse of what is happening in the world of Haskell. Also, we have included a digest of advanced Haskell topics which are a must if you want to become a real die-hard sensei.

Haskell Weekly Podcast

https://haskellweekly.news/podcast/

A good podcast from our Haskell colleagues. Honored developers discuss the business usage of functional programming and important Haskell news. Each episode lasts for 15 minutes and they are available in Apple Podcasts and Google Podcasts.

We can’t say that it is what newbies really need, but this podcast keep us and a lot of our Haskellers updated. If you already have written some Haskell code – you can listen to this podcast, for example, to make a list with all the unknown terms to learn.

Haskell For All

http://www.haskellforall.com/2014/03/introductions-to-advanced-haskell-topics.html

Here is a list of advanced Haskell topics prepared by experts for all who want to sharpen their skills. Also, Vlad said that the whole blog is awesome and we can’t disagree with him.

What I Wish I Knew When Learning Haskell

http://dev.stephendiehl.com/hask/

This one is huge. Commands, handy tips, and a lot of relevant information about a wide range of Haskell topics. Browse it in slow evenings or reference it whenever the need arises - it will work either way.

While you’re there, don’t forget to check out Stephen Diehl’s blog as well.

Matt Parsons’ Blog

https://www.parsonsmatt.org/

This is the blog of the IOHK software developer Matt Parsons. Despite the original way of blog design, his posts are interesting and well-elaborated.

If you want to have small talk with experts and developers from big companies – there is no way better than to go to one of Haskell-oriented or functional programming conferences. We have a list of the best events for you. Also, check our Haskell articles and History of Haskell to learn more about our favourite functional programming language.

Next time, we will make a list of blogs that we suggest you to subscribe if you want to stay ahead in the world of Haskell and functional programming.

If there are more questions than answers and you need help with some tasks, feel free to contact us: hi@serokell.io.

Viam supervadet vadens. Good luck!