Interpretations of Extensible Objects and Types

We present a type-theoretic encoding of extensible objects and types. The ambient theory is a higher-order λ-calculus with polymorphic types, recursive types and operators, and subtyping. Using this theory, we give a type preserving and computationally adequate translation of a full-fledged object calculus that includes object extension and override. The translation specializes to calculi of nonextensible objects and validates the expected subtyping relationships.

[1]  Martín Abadi,et al.  An interpretation of objects and object types , 1996, POPL '96.

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

[3]  Michele Bugliesi,et al.  Matching for the lambda Calculus of Objects , 1999, Theor. Comput. Sci..

[4]  Martín Abadi,et al.  On subtyping and matching , 1995, TOPL.

[5]  Luigi Liquori An Extended Theory of Primitive Objects: FIrst Order System , 1997, ECOOP.

[6]  Luca Cardelli,et al.  Comparing Object Encodings , 1997, Inf. Comput..

[7]  Luigi Liquori,et al.  A Subtyping for the Fisher-Honsell-Mitchell Lambda Calculus of Objects , 1994, CSL.

[8]  William R. Cook,et al.  A self-ish model of inheritance , 1987 .

[9]  Didier Rémy From Classes to Objects via Subtyping , 1998, ESOP.

[10]  Michele Bugliesi,et al.  Matching Constraints for the Lambda Calculus of Objects , 1997, TLCA.

[11]  Benjamin C. Pierce,et al.  Simple type-theoretic foundations for object-oriented programming , 1994, Journal of Functional Programming.

[12]  Karl Crary,et al.  Simple, Efficient Object Encoding using Intersection Types , 1998 .

[13]  Martín Abadi,et al.  A Theory of Objects , 1996, Monographs in Computer Science.

[14]  Silvano Dal-Zilio,et al.  An Interpretation of Extensible Objects , 1999, FCT.

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

[16]  Martín Abadi,et al.  On Subtyping and Matching , 1995, ECOOP.

[17]  Kim B. Bruce A paradigmatic object-oriented programming language: Design, static typing and semantics , 1994, Journal of Functional Programming.

[18]  John C. Mitchell,et al.  A lambda calculus of objects and method specialization , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[19]  John C. Mitchell,et al.  A Delegation-based Object Calculus with Subtying , 1995, FCT.

[20]  Ramesh Viswanathan,et al.  Full abstraction for first-order objects with recursive types and subtyping , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).