47 Degrees joins forces with Xebia read more

Type-level Programming in Haskell

Learn about the wide range of type-level techniques in Haskell, and how to apply them to write safer code.



Are you ready for the next level of Haskell? That's the type-level! By using more powerful types, you can express more invariants and properties about your code, in a way that can be checked by the compiler. This course offers a deep look into many of the topics related to type-level programming in Haskell.


  • Familiarity with Haskell, including ADTs and type classes.

What you'll learn

Session 1: GADTs

  • Indexed types
  • More powerful pattern matching
  • Data type promotion

Session 2: Computing with types

  • Type families as type functions
  • (Multi-parameter) type classes as type relations
  • Reflecting as terms: singletons

Session 3: Quantification

  • Higher-rank types
  • Constraints as types

Company and Private Group Training

Company and Private Group Training


  • Type Level
  • GADTs
  • Type Families
  • Type Classes
  • Higher-Rank

This Type-level Programming in Haskell includes:

  • Maximum Class Size of 15
  • Access to Academy EduTools Platform
  • Access to Course Materials
  • Certificate of Completion
  • Access to a Private Channel with Trainers in the Academy Slack
  • A Q&A session one week post-course
  • A pre-and-post meeting with our trainers

Upcoming Academy Events