We are going to introduce new courses and online versions of our courses. As a first step, next month, we’re offering an online course on type-level programming with GHC which is now open for registrations:

Type-level programming with GHC

23-24 July 2018, 0800-1200 UTC

  • Delivered by Andres Löh
  • Two half days of lectures, discussions and live coding
  • Delivered online, probably via Google Hangouts
  • Up to 6 participants (first come, first served)
  • GBP 360 including VAT (GBP 300 without VAT)
  • Register by email to

About the course

In this course, we are going to cover the following topics:

  • What is type-level programming?
  • When is it useful, and what costs are associated with it?
  • Generalised algebraic data types (GADTs)
  • Kinds and promotion
  • Higher-rank polymorphism
  • Singleton types
  • Retaining evidence, avoiding Booleans, learning by testing
  • Establishing boundaries between untrusted and trusted code
  • Type families
  • Proxies and injectivity
  • Type-level equality and proofs
  • Future perspectives

The course will be a mixture of lectures, discussions and live coding. The maximum course size is deliberately kept small so that it is still possible to ask and discuss individual questions.

There will be some exercises, but compared to an on-site course, we are going to keep this component relatively small, because it is not so easy to supervise the coding efforts of participants in this format.

About the teacher

Andres Löh has more than 20 years of Haskell experience, and more than 15 years of teaching experience. He has taught many courses on all things Haskell, including a type-level programming course at the Summer School on Generic and Effectful Programming. He helped establish the Utrecht Summer School on Applied Functional Programming and IOHK’s course on Haskell and Cryptocurrencies. He is a co-author or contributor to various packages that involve type-level programming, including generics-sop and servant. He has a PhD from Utrecht University.


If you are interested in registering, please send an email to including an invoice address. Payment is in advance via bank transfer. There is no minimum number of registrations. The course will take place even with a single registered participant. If we have to cancel the course for whatever reason, you will be entitled to a full refund or a replacement course at a different time.

If you are interested in the format, but not the topic or cannot make the time, feel free to contact us with requests for courses on other topics or at other times.

Other courses and events

We are of course still offering on-site courses. Our next public courses will be in London, in connection with the Haskell eXchange and in collaboration with Skills Matter:

We can also do courses on-site for your company, on the topics you are most interested in and individually tailored to your needs. Check out more detailed information or just contact us.