15-312 Foundations of Programming Languages
Lecture 15: Bidirectional Type Checking

In this lecture we discuss bidirectional type checking, an algorithm that generalizes pure type synthesis which we have applied to MinML so far. Unlike full type inference as employed in the core language of Standard ML, bidirectional type checking is quite robust and allows subtyping as well as parametric polymorphism, existential types, and recursive types without restrictions.

[ Home | Schedule | Assignments | Software | Resources ]

Frank Pfenning