Advances in Programming Languages 2018/19 Lecture 3: Parameterized Types and Polymorphism
This lecture explores parameterized types in different programming languages: families of data types with a common structure, built by applying type constructors to one or more type parameters. To work with parameterized types we use polymorphic functions — code that can work with more than one type, either in a uniform way (parametric polymorphism) or with type-specific variations (ad-hoc polymorphism).