15-312 Foundations of Programming Languages
Lecture 7: Aggregate Data Structures
In this lecture we first discuss the issue of run-time errors, and how
they might be incorporated in the framework we have presented so far
without sacrificing type safety (that is, preservation and progress).
Then we introduce other data constructors, namely products, disjoint sums,
and lists. This further elucidates the basic techniques for describing
programming languages and proving their properties.