Skip to content

Latest commit

 

History

History

60023 - Type Systems for Programming Languages

60023 - Type Systems for programming Languages

Module Description

From the college website...

In this module you will study in detail the design of type assignment systems for programming languages and focus on the importance of a sound theoretical framework, in order to be able to reason about the properties of a typed program. You will also study and compare the types systems of various modern functional and object-oriented programming languages.

  • Review of Lambda calculus
  • Curry type assignment and principal types
  • Recursion and polymorphism
  • Type checking vs type inference
  • System F
  • Extensions for practical type inference, including data types, type classes, type constraints and coercion
  • System F_C
  • Subtypes and subtype inference
  • Advanced topics, e.g. higher-rank types, dependent types and ownership types

On these Notes

The provided course notes developed by Prof Van Bakel are fantastic, and significantly better than those found here.

I highly advise you read them instead of these notes, which are barebones revision notes for my own study.

Lecturers

Taught by Professor Steffen van Bakel

Resources

Back to main notes