Teacher: Didier Remy
- ML Type Grammar:
- \[τ \; ≝ \; ⋯ \; \mid \; ∀α. σ\\ σ \; ≝ \; τ \; \mid \; ∀α. σ\]
- iso-recursive types (when you have a match, you unfold)
- equi-recursive types: objects
First-class polymorphism: polymorphic types can be instantiated by polymorphic types themselves.
You cannot combine local scoping and abstraction over dictionaries.