Overview
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.
Prerequisites
- 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