An interpretation of typed OOP in a language with state

In this paper we give semantics toLoop, an expressive typed object-oriented programming language with updatable instance variables.Loop has a rich type system that allows for the typing of methods operating over an open-ended “self” type. We prove the type system given is sound;i.e., well-typed programs do not experience “message not understood” errors. The semantics ofLoop is given by a translation into a state-based language,Soop, that contains reference cells, records, and a form of F-bounded polymorphic type.

[1]  Kim B. Bruce,et al.  Safe and decidable type checking in an object-oriented language , 1993, OOPSLA '93.

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

[3]  Robert Hieb,et al.  The Revised Report on the Syntactic Theories of Sequential Control and State , 1992, Theor. Comput. Sci..

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

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

[6]  Samuel N. Kamin,et al.  Two semantic models of object-oriented languages , 1994 .

[7]  Luca Cardelli,et al.  A Semantics of Multiple Inheritance , 1984, Inf. Comput..

[8]  Benjamin C. Pierce,et al.  Bounded quantification is undecidable , 1992, POPL '92.

[9]  V. Trifonov,et al.  A Simple Interpretation of OOP in a Language with , 1993 .

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

[11]  Giorgio Ghelli A static type system for message passing , 1991, OOPSLA 1991.

[12]  Matthias Felleisen,et al.  Parameter-passing and the lambda calculus , 1991, POPL '91.

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

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

[15]  Carolyn L. Talcott,et al.  1 Equivalence in Functional Languages with E ectsIan , 2007 .

[16]  Kim B. Bruce Safe type checking in a statically-typed object-oriented programming language , 1993, POPL '93.

[17]  Stephen Morris Introduction to Object-Oriented Programming , 1994 .

[18]  Scott F. Smith,et al.  Application of OOP Type Theory: State, Decidability, Integragtion , 1994, OOPSLA.

[19]  Gordon D. Plotkin,et al.  An ideal model for recursive polymorphic types , 1984, Inf. Control..

[20]  Andreas V. Hense Wrapper Semantics of an Object-Oriented Programming Language with State , 1991, TACS.

[21]  Didier Rémy,et al.  Type inference for records in natural extension of ML , 1994 .

[22]  Matthias Felleisen,et al.  A Syntactic Approach to Type Soundness , 1994, Inf. Comput..

[23]  Jens Palsberg,et al.  A Denotational Semantics of Inheritance and its Correctness , 1989, OOPSLA.

[24]  Peter Buneman,et al.  Theoretical Aspects of Object-Oriented Programming , 1994 .

[25]  Jens Palsberg,et al.  A Denotational Semantics af Inheritance and its Correctness , 1989 .

[26]  John C. Mitchell,et al.  Theoretical aspects of object-oriented programming: types, semantics, and language design , 1994, Choice Reviews Online.

[27]  Jonathan P. Seldin,et al.  A sequent calculus for type assignment , 1977, Journal of Symbolic Logic.

[28]  P. J. Landin The Mechanical Evaluation of Expressions , 1964, Comput. J..