15-851 Computation and Deduction
Lecture 21: Intersection Types
The system with atomic subtyping lacks principal types,
that is, an expression may have several unrelated types. This complicates
type checking and create problems at module boundaries, where type
specifications must be given explicitly.
In this lecture we introduce a variant of intersection types which solves
this problem and discuss its properties. Instead of constraint-based inference,
we discuss a new technique, bi-directional type checking, which
seems to be more appropriate for practical implementations of complex type
systems.
[ Home
| Schedule
| Assignments
| Handouts
| Software
| Overview
]
fp@cs
Frank Pfenning
|