A Theory of Primitive Objects - Untyped and First-Order Systems

We introduce simple object calculi that support method override and object subsumption. We give an untyped calculus, typing rules, and equational rules. We illustrate the expressiveness of our calculi and the pitfalls that we avoid.

[1]  Jens Palsberg Efficient inference of object types , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

[2]  Martín Abadi,et al.  A Theory of Primitive Objects: Second-Order Systems , 1995, Sci. Comput. Program..

[3]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

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

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

[6]  Jens Palsberg Efficient Inference of Object Types , 1995, Inf. Comput..

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

[8]  Martín Abadi,et al.  A Theory of Primitive Objects , 1996 .

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

[10]  Martín Abadi,et al.  An Imperative Object Calculus , 1995, TAPSOFT.

[11]  Luca Cardelli,et al.  A Semantics of Multiple Inheritance , 1984, Information and Computation.

[12]  Martin Hofmann,et al.  A unifying type-theoretic framework for objects , 1994, Journal of Functional Programming.

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

[14]  Luca Cardelli,et al.  Subtyping recursive types , 1991, POPL '91.

[15]  Martín Abadi,et al.  A semantics of object types , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

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

[17]  E. Engeler Review: H. P. Barendregt, The Lambda Calculus. Its Syntax and Semantics , 1984 .

[18]  Martín Abadi,et al.  Dynamic typing in a statically-typed language , 1989, POPL '89.

[19]  Martín Abadi,et al.  Baby Modula-3 and a theory of objects , 1994, Journal of Functional Programming.

[20]  Mitchell Wand,et al.  Complete Type Inference for Simple Objects , 1987, LICS.

[21]  Luca Cardelli,et al.  Extensible records in a pure calculus of subtyping , 1994 .

[22]  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.

[23]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[24]  Greg Nelson,et al.  Systems programming in modula-3 , 1991 .

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

[26]  Gordon D. Plotkin,et al.  An Ideal Model for Recursive Polymorphic Types , 1986, Inf. Control..