A course a series of videos, with accompanying text and code, that lead you through a particular topic. Each video is short – generally about 15 minutes – and focused. Some courses will focus on a particular problem, showing multiple ways to handle it, while teaching you Haskell in the process. Others will look at a topic such as functors and guide you to a deep but practical understanding.

Courses will generally be 5-15 videos in length. Each course will have clearly stated prerequisites and a list of topics that are covered, so you can choose courses that best fit your needs.


The Validation course starts with a short code example for validating usernames and passwords. As we change it to include new features, we gain a practical understanding of the differences between Applicative and Monad.

Functortown: A Map of the Territory

Join us for a tour of the Haskell family of functors, starting from the Functor typeclass, working through Applicative and Monad, through contravariance, all the way to Profunctor.

Web Servers from low-level to high

This course begins with a look at writing a web server in Haskell from a low level. We will then rewrite our web server using a variety of increasingly abstract libaries, from warp and scotty though yesod.