Recommended Prerequesites
- Functional and Object-oriented Programming (FOP)
- Concepts of Programming Languages (COPL)
Content
Advanced type systems offer a compelling way for proving absence of entire classes of errors without even running any program. We will cover among other things the following topics:
- programming with advanced type systems
- lambda calculus, simple types, polymorphism, dependent types
- typing rules, type checking, type inference, type soundness
- implementing type systems for programming languages
Participation is limited. Applications will be made on the first lecture date and the selection will be announced on the second lecture date.