Abstract from the Introduction
This volume comprises fifteen chapters, by selected authors, on
theoretical aspects of object-oriented programming languages. The
focus is on type systems and semantic models, and how advances in
these areas can contribute to new language designs. The collection is
divided into five parts: Objects and Subtypes, Type Inference,
Coherence, Record Calculi, Inheritance. The chapters are organized
approximately in order of increasing complexity of the language
constructs they consider. Put briefly, the collection begins with
variations on Pascal- and Algol-like languages, develops the theory of
illustrative record object models, and concludes with research
directions for developing 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 address
general problems associated with subtyping (or subclasses) in the
presence of operations that may be applied to objects of more than one
type.
Parts II--IV, which form the core of the collection, are concerned
with what may be called the record model of object-oriented
languages. More 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 or dynamic method lookup. Part II
develops the record model incrementally, beginning with a simple
extension of the record operations from the language ML. The
denotational semantics of these languages are considered in Part III,
with more elaborate record object models and more precise connections
with object-oriented methodology developed in Part IV.
Extensions and modifications to record object models are considered in
Part V. These chapters bring us closer to the full complexity of
practical object-oriented languages. However, the complete
theoretical underpinnings of the language features discussed in Part V
remain a topic for future research.