Rating: Not rated
Tags: Computers, Programming Languages, General, Software Development & Engineering, Lang:en
Publisher: MIT Press
Added: October 18, 2020
Modified: November 5, 2021
Summary
A comprehensive introduction to type systems and
programming languages. A type system is a syntactic method
for automatically checking the absence of certain erroneous
behaviors by classifying program phrases according to the
kinds of values they compute. The study of type systems--and
of programming languages from a type-theoretic
perspective--has important applications in software
engineering, language design, high-performance compilers, and
security. This text provides a comprehensive introduction
both to type systems in computer science and to the basic
theory of programming languages. The approach is pragmatic
and operational; each new concept is motivated by programming
examples and the more theoretical sections are driven by the
needs of implementations. Each chapter is accompanied by
numerous exercises and solutions, as well as a running
implementation, available via the Web. Dependencies between
chapters are explicitly identified, allowing readers to
choose a variety of paths through the material. The core
topics include the untyped lambda-calculus, simple type
systems, type reconstruction, universal and existential
polymorphism, subtyping, bounded quantification, recursive
types, kinds, and type operators. Extended case studies
develop a variety of approaches to modeling the features of
object-oriented languages.