Remote Interactive Course on "Type-level Programming with GHC"

Event Information

Share this event

Date and Time

Event description
Two half days of online lectures, discussions and live coding, delivered by Andres Löh for up to 8 participants.

About this Event

In this course, we are providing an in-depth look into Haskell’s type system, including the various language extensions that the Glasgow Haskell Compiler (GHC) has to offer. This 8-hour course will be split over two mornings UK time (09:00 to 13:00 BST) on 14th and 15th October 2019. It will be delivered using the Google Meet video conferencing platform.

Haskell is an evolving language. With each new GHC release, there are some new features, many of which add extra power to Haskell’s already remarkable type system. But which extensions are widely used? Which are stable? How can one find out how they really work? While many features are really interesting, documentation is often scarce, and scattered around in various places such as blog posts and academic papers.

In this course, we’ll provide a much needed overview, and then discuss the most important concepts systematically: from higher-rank polymorphism over GADTs and data kinds to type families and System FC (the formal system that GHC’s core language is based on). We’ll discuss how to use all these features, provide motivation and typical use cases, and warn about possible pitfalls. The course is hands-on, a combination of presentations and exercises. Exercises consist of carefully chosen small examples that illustrate the concepts discussed, and are often based on real-world libraries that you can find on Hackage.

This course assumes a solid understanding of Haskell basics, and is likely to enjoyed more by participants who already have gained some practical experience in writing Haskell code. No prior experience with the type-level programming features of Haskell is required.

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.

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

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.

Ticket Price

Tickets are GBP 390 including UK VAT (GBP 325 excluding VAT). If you are purchasing a ticket on behalf of a VAT-registered EU business, please enter your VAT number in the registration form to pay VAT in your country via the reverse charge mechanism.

Cancellation Policy

If you are unable to attend after purchasing a ticket, please request a refund through Eventbrite; we will consider requests on a case-by-case basis and respond within 5 working days. The Eventbrite fee included in the ticket price is nonrefundable, unless the course is cancelled entirely.

There is no minimum number of participants for the course. If unforeseen circumstances prevent Andres Löh from being able to deliver the course, we will endeavour to run the course with another experienced Haskell teacher from Well-Typed. In the unlikely event that we have to cancel the course, you will receive a refund or a replacement course at a different time.

If you have any queries or require further information please email info@well-typed.com.

Share with friends

Date and Time

Save This Event

Event Saved