The Equivalence of Two Semantic Definitions for Inheritance in Object-Oriented Languages

A simple language is presented which supports inheritance in object-oriented languages. Using this language, the definitions for the semantics of inheritance given in [CHC90] and [Mit90] are compared and shown to be equivalent. The equivalence is shown by presenting and comparing two denotational semantics of the simple language which capture the essence of each of the earlier semantics.

[1]  Uday S. Reddy,et al.  Objects as closures: abstract semantics of object-oriented languages , 1988, LISP and Functional Programming.

[2]  Samuel N. Kamin Inheritance in smalltalk-80: a denotational definition , 1988, POPL '88.

[3]  Kim B. Bruce,et al.  A modest model of records, inheritance and bounded quantification , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[4]  John C. Mitchell,et al.  F-bounded quantification for object-oriented programming , 1989 .

[5]  John C. Mitchell,et al.  PER models of subtyping, recursive types and higher-order polymorphism , 1992, POPL '92.

[6]  John C. Mitchell Toward a typed foundation for method specialization and inheritance , 1989, POPL '90.

[7]  Phillip M. Yelland First Steps Towards Fully Abstract Semantics for Object-Oriented Languages , 1989, Comput. J..

[8]  John C. Mitchell,et al.  Coercion and type inference , 1984, POPL.

[9]  Felice Cardone,et al.  Relational Semantics for Recursive Types and Bounded Quantification , 1989, ICALP.

[10]  William R. Cook,et al.  A denotational semantics of inheritance , 1989 .

[11]  Luca Cardelli,et al.  Operations on Records , 1989, Mathematical Foundations of Programming Semantics.

[12]  Roberto M. Amadio,et al.  Recursion over Realizability Structures , 1991, Inf. Comput..

[13]  John C. Mitchell,et al.  The Semantics of Second-Order Lambda Calculus , 1990, Inf. Comput..

[14]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[15]  John C. Mitchell,et al.  F-bounded polymorphism for object-oriented programming , 1989, FPCA.

[16]  William R. Cook,et al.  Inheritance is not subtyping , 1989, POPL '90.