Learn Haskell

Haskell is a purely functional, statically typed, and lazy programming language. It has a robust, static type system with type inference and supports higher-order programming and pattern matching. Haskell also has a wide range of libraries, making it an excellent choice for developing reliable, robust, and efficient applications. In addition, Haskell is an open source language and provides a platform for experimenting with functional programming.

As Plutus is mainly based on Haskell, having some prior experience with Haskell (or another functional programming language) will be very helpful for this program.

If you want to start learning Haskell in advance of the Plutus Pioneers Program, we provide a self-paced Haskell Bootcamp course introducing you to Haskell. To take this course, you should have programming experience and a mathematical and technical mindset.

For every lesson on this Bootcamp, we provide:

  • A video lecture

  • An interactive coding environment based on Jupyter notebooks

  • Homework assignments to put your new Haskell skills into action

You can take this course completely free and review the detailed syllabus using the following links:

Both resources offer the same learning content; the main difference is that if you enroll in our e-learning platform, you can share your questions and interact with other learners by using the discussion forums provided for each lesson. For both options, you can also hang out and discuss with other students through the IOG's technical community on Discord by checking out the #ask-haskell channel.

This course is offered in English; if you are a Spanish speaker and want to contribute to translating the Haskell Bootcamp course, we encourage you to fork the GitHub repository and share your contributions through a pull request.


This work is licensed under a Creative Commons Attribution 4.0 International License.

Last updated