IA014 Advanced Functional Programming
Lecture IV - Polymorphism and Type Inference
Lecture dates
31. 3. 2021 (parametric polymorphism, system HM, type inference)
7. 4. 2021 (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/jaro2021/IA014/um/04-HMpoly.pdf
Exercises
Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2021/IA014/um/exercises/ex04.pdf
Tools
Lambda
Lambda calculus term evaluator (by Jakub Kadlecaj)
Lambda-Tree
Type derivation tree builder (by Martin Škrovina)
Lecture recordings
Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2021/IA014/um/vid/2021-03-31_ia014.mp4
Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2021/IA014/um/vid/2021-04-07a_ia014.mp4
Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2021/IA014/um/vid/2021-04-07a_ia014.mp4