Overview
Haskell Dojo is a free, self-paced course that teaches the Haskell programming language through eight guided coding assignments1. Learners build two small games that run in the terminal, first tic-tac-toe and then hangman, by filling in missing code one exercise at a time2. Each assignment is a written guide paired with a code file to complete, so the reading and the practice sit side by side1.
Haskell matters on Cardano because Plutus, the native language for writing Cardano smart contracts (programs that run on the blockchain), is built on Haskell3. The course comes from ajnabi workshop, the GitHub organization that also hosts the Jambhala Cardano Development Suite, a ready-made toolkit for building on Cardano4. In his funding proposal for Jambhala on Project Catalyst, Cardano's community grant program, the course's author, Ian Burzynski5, describes the Haskell Dojo curriculum as the one used in the free Haskell course from EMURGO Academy6, the education arm of EMURGO7.
Key Features
- Learn by building two games. Assignments 1 to 5 add up to a playable tic-tac-toe game and assignments 6 to 8 build hangman, and both games launch from one menu when the finished project runs2.
- A clear path from basics to advanced ideas. The Haskell Dojo assignments start with types and expressions8 and build toward functors and monads, two of Haskell's main tools for structuring programs9.
- Check each answer as you go. Early assignments show sample commands to try in GHCi, Haskell's interactive prompt, so learners can test a piece of code right after writing it8.
- A scratchpad for experiments. A separate Sandbox file and a short launch script let learners try out any Haskell code, including the extra code libraries the course project uses, away from the assignment files1.
- Setup options. Learners can run the course inside Jambhala or on their own computer with GHCup, the installer the README says to use for a local install1. The README also describes a browser setup through Gitpod, but Gitpod Classic shut down on October 15, 202510.
What to Expect
Getting started means making your own copy of the Haskell Dojo repository on GitHub (called a fork), then picking a setup. The README recommends Jambhala for anyone planning to learn Cardano development, since the same environment later handles cardano-cli, Cardano's command-line tool, and Plutus. A local GHCup install suits people learning Haskell for other purposes1. The README's third route, Gitpod in the browser, no longer works because Gitpod Classic shut down10.
From there, you work through the assignments in order. Each one names the code file to edit and breaks the work into numbered questions, with example commands showing what a correct answer should return8. The second half of the course drops those ready-made test commands, so you check your own answers using the habits built up in the first half11. You save progress by committing and pushing your changes, which means sending them back to your copy on GitHub1.
Haskell Dojo teaches general Haskell rather than Plutus itself, so it works as groundwork before Cardano-specific lessons. For a wider picture of what building on Cardano involves, ADAStack's introduction to Cardano development covers the basics, and the developer learning platforms category lists other places to keep learning.
