Objects as closures: abstract semantics of object-oriented languages
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Introduction to the literature on object-oriented design, programming, and languages
ACM SIGPLAN OOPS Messenger
Semantics and logic of object calculi
Theoretical Computer Science - Logic, semantics and theory of programming
A minimalist approach to objects
Computer Languages, Systems and Structures
Hi-index | 0.00 |
This thesis develops a semantic model of inheritance and investigates its applications for the analysis and design of programming languages. Inheritance is a mechanism for incremental programming in the presence of self-reference. This interpretation of inheritance is formalized using traditional techniques of fixed-point theory, resulting in a compositional model of inheritance that is directly applicable to object-oriented languages. Novel applications of inheritance revealed by the model are illustrated to show that inheritance has wider significance beyond object-oriented class inheritance. Constraints induced by self-reference and inheritance are investigated using type theory and yield a formal characterization of abstract classes and a demonstration that the subtype relation is a direct consequence of the basic mechanism of inheritance. The model is proven equivalent to the operational semantics of inheritance embodied by the interpreters of object-oriented languages like Smalltalk. Concise descriptions of inheritance behavior in several object-oriented languages, including Smalltalk, Beta, Simula, and Flavors, are presented in a common framework that facilitates direct comparison of their features.