The study of type systems—and of programming languages from a type- theoretic perspective—has become an energetic field with major applications in software engineering, language design, high-performance compiler imple- mentation, and security. This text offers a comprehensive introduction to the fundamental definitions, results, and techniques in the area.
1