Teaching

Types in programming languages

  1. Syntax & semantics
  2. Simply-typed lambda calculus
  3. Normalization. PFC
  4. ADTs and μ-recursive types
  5. System F
  6. System Fω
  7. Dependent types
  8. Pure type systems
  9. Type checking and co
  10. Catamorphisms
  11. Subtyping
  12. Existential types
  13. Other topics