15-312 Foundations of Programming Languages
Lecture 6: Type Safety

In this lecture we first introduce recursion into our language in order to increase its expressive power. Then we discuss the shortcomings of the type preservation theorem on the big-step semantics, which can only talk about complete computations.

In order to remedy this, we introduce a small-step semantics in which computation is characterized step-by-step. We discuss the theorems of type preservation and progress which can now talk about intermediate states of evaluation, providing much stronger guarantees about a language. We also prove type preservation, leaving progress for the next lecture.

We say that a language is type safe if it satisfies both preservation and progress on a small-step semantics.

[ Home | Schedule | Assignments | Software | Resources ]

Frank Pfenning