Theoretical Aspects of Object-oriented Programming: Types, Semantics, and Language Design

Front Cover
Carl A. Gunter, John C. Mitchell
MIT Press, 1994 - Computers - 548 pages

Although the theory of object-oriented programming languages is far from complete, this book brings together the most important contributions to its development to date, focusing in particular on how advances in type systems and semantic models can contribute to new language designs.The fifteen chapters are divided into five parts: Objects and Subtypes, Type Inference, Coherence, Record Calculi, and Inheritance. The chapters are organized approximately in order of increasing complexity of the programming language constructs they consider - beginning with variations on Pascal- and Algol-like languages, developing the theory of illustrative record object models, and concluding with research directions for building a more comprehensive theory of object-oriented programming languages.Part I discusses the similarities and differences between "objects" and algebraic-style abstract data types, and the fundamental concept of a subtype. Parts II-IV are concerned with the "record model" of object-oriented languages. Specifically, these chapters discuss static and dynamic semantics of languages with simple object models that include a type or class hierarchy but do not explicitly provide what is often called dynamic binding. Part V considers extensions and modifications to record object models, moving closer to the full complexity of practical object-oriented languages.Carl A. Gunter is Professor in the Department of Computer and Information Science at the University of Pennsylvania. John C. Mitchell is Professor in the Department of Computer Science at Stanford University.

From inside the book

Contents

Introduction
1
Using Category Theory to Design Implicit Conversions and Generic
25
Type Inference for Records in a Natural Extension of ML
67
Type Inference for Objects with Instance Variables and Inheritance
97
Static Type Inference for Parametric Classes
121
A Modest Model of Records Inheritance and Bounded Quantification
151
Inheritance as Implicit Coercion
197
Coherence of Subsumption Minimum Typing and TypeChecking in F
247
Typing Record Concatenation for Free
351
Extensible Records in a Pure Calculus of Subtyping
373
Bounded Quantification Is Undecidable
427
Two Semantic Models of ObjectOriented Languages
463
Inheritance Is Not Subtyping
497
Toward a Typed Foundation for Method Specialization and Inheritance
519
Contributors
547
Copyright

Operations on Records
295

Other editions - View all

Common terms and phrases

About the author (1994)

Carl A. Gunter is Professor in the Department of Computer and Information Science at the University of Pennsylvania. John C. Mitchell is Professor in the Department of Computer Science at Stanford University.

Bibliographic information