Theoretical aspects of object-oriented programming: types, semantics, and language design

Part 1 Objects and subtypes: user-defined types and procedural data structures as complementary approaches to data abstraction, John C. Reynolds using category theory to design implicit conversions and generic operators, John C. Reynolds. Part 2 Type inference: type inference for records in a natural extension of ML, Didier Remy type inference for objects with instance variables and inheritance, Mitchell Wand static type inference for parametric classes, Atsushi Ohori and Peter Buneman. Part 3 Coherence: a modest model of records, inheritance, and bounded quantification, Kim B. Bruce and Giuseppe Longo inheritance as implicit coercion, Val Breazu-Tannen et al coherence of subsumption, minimum typing and type-checking in F<, Pierre-Louis Curien and Giorgio Ghelli. Part 4 Record calculi: operations on records, Luca Cardelli and John C. Mitchell typing record concatenation for free, Didier Remy extensible records in a pure calculus of subtyping, Luca Cardelli bounded quantification is undecidable, Benjamin C. Pierce. Part 5 Inheritance: two semantic models of object-oriented languages, Samuel N. Kamin and Uday S. Reddy inheritance is not subtyping, William R. Cook et al toward a typed foundation for method specialization and inheritance, John C. Mitchell.

[1]  J. Y. Girard,et al.  Interpretation fonctionelle et elimination des coupures dans l'aritmetique d'ordre superieur , 1972 .

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

[3]  Peter Buneman,et al.  Static type inference for parametric classes , 1989, OOPSLA '89.

[4]  R. Hindley The Principal Type-Scheme of an Object in Combinatory Logic , 1969 .

[5]  Giorgio Ghelli,et al.  Coherence of Subsumption, Minimum Typing and Type-Checking in F<= , 1992, Math. Struct. Comput. Sci..

[6]  Kim B. Bruce The Equivalence of Two Semantic Definitions for Inheritance in Object-Oriented Languages , 1991, MFPS.

[7]  John C. Reynolds,et al.  Using category theory to design implicit conversions and generic operators , 1980, Semantics-Directed Compiler Generation.

[8]  J. Girard Une Extension De ĽInterpretation De Gödel a ĽAnalyse, Et Son Application a ĽElimination Des Coupures Dans ĽAnalyse Et La Theorie Des Types , 1971 .

[9]  Robin Milner,et al.  Commentary on standard ML , 1990 .

[10]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

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

[12]  Bjarne Stroustrup,et al.  The Annotated C++ Reference Manual , 1990 .

[13]  Lynn Andrea Stein,et al.  Delegation is inheritance , 1987, OOPSLA '87.

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

[15]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

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

[17]  Thierry Coquand,et al.  Inheritance as Implicit Coercion , 1991, Inf. Comput..