IA014 Advanced Functional Programming
Lecture IV - Polymorphism and Type Inference
Lecture dates
24. 3. 2020 [week 6] (parametric polymorphism, system HM, type inference)
31. 3. 2020 [week 7] (system F)
Reading
Books
- [Pierce], chapter 23
- H. Barendregt: Lambda Calculi with Types [PDF]
Other
- L. Damas and R. Milner: Principal type-schemes for functional programs [PDF]
- The original paper describing the type inference algorithm W
- E. Marquart: Hindley-Milner Type Inference [PDF]
- Easily accessible write-up on the type inference algorithm, by a student at TUM.
- L. Cardelli, P. Wegner: On Understanding Types, Data Abstraction, and Polymorphism [ACM DL] (accessible from MU)
- Wikipedia page on Hindley-Milner type system
Slides
Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2020/IA014/um/04-HMpoly.pdf
Exercises
Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2020/IA014/um/exercises/ex04.pdf
Tools
Lambda
Lambda calculus term evaluator
Lambda Tree
Type derivation tree builder