Advanced Topics in Types and Programming Languages

Front Cover
Benjamin C. Pierce
MIT Press, Dec 23, 2004 - Computers - 588 pages
A thorough and accessible introduction to a range of key ideas in type systems for programming language.

The study of type systems for programming languages now touches many areas of computer science, from language design and implementation to software engineering, network security, databases, and analysis of concurrent and distributed systems. This book offers accessible introductions to key ideas in the field, with contributions by experts on each topic.

The topics covered include precise type analyses, which extend simple type systems to give them a better grip on the run time behavior of systems; type systems for low-level languages; applications of types to reasoning about computer programs; type theory as a framework for the design of sophisticated module systems; and advanced techniques in ML-style type inference.

Advanced Topics in Types and Programming Languages builds on Benjamin Pierce's Types and Programming Languages (MIT Press, 2002); most of the chapters should be accessible to readers familiar with basic notations and techniques of operational semantics and type systems—the material covered in the first half of the earlier book.

Advanced Topics in Types and Programming Languages can be used in the classroom and as a resource for professionals. Most chapters include exercises, ranging in difficulty from quick comprehension checks to challenging extensions, many with solutions.

 

Contents

Substructural Type Systems
3
Dependent Types
45
Effect Types and RegionBased Memory Management
87
Typed Assembly Language
141
ProofCarrying Code
177
Logical Relations and a Case Study in Equivalence Checking
223
Typed Operational Reasoning
245
Design Considerations for MLStyle Module Systems
293
Type Definitions
347
The Essence of ML Type Inference
389
A Solutions to Selected Exercises
491
References
535
Index
567
Copyright

Other editions - View all

Common terms and phrases

About the author (2004)

Benjamin C. Pierce is Professor of Computer and Information Science at the University of Pennsylvania.

Bibliographic information