## Application of OOP Type Theory: State, Decidability, Integration (1994)

Venue: | In Proceedings of OOPSLA '94 |

Citations: | 13 - 5 self |

### BibTeX

@INPROCEEDINGS{Eifrig94applicationof,

author = {Jonathan Eifrig and Scott Smith and Valery Trifonov and Amy Zwarico},

title = {Application of OOP Type Theory: State, Decidability, Integration},

booktitle = {In Proceedings of OOPSLA '94},

year = {1994},

pages = {16--30}

}

### OpenURL

### Abstract

Important strides toward developing expressive yet semantically sound type systems for object-oriented programming languages have recently been made by Cook, Bruce, Mitchell, and others. This paper focusses on how the theoretical work using F-bounded quantification may be brought more into the realm of actual language implementations while preserving rigorous soundness properties. We simultaneously address three of the more significant problems: adding a notion of global state, proving type-checking is decidable, and integrating the more widely implemented view that subclasses correspond to subtypes with the F-bounded view. 1 Introduction Developing expressive yet semantically sound type systems for object-oriented programming languages is a well-known and difficult research problem. Many workable solutions are possible, but there has as of yet been no universally accepted solution to the problem. To frame the problem we desire a static type system that preserves all of the classic ...

### Citations

540 | A syntactic approach to type soundness
- Wright, Felleisen
- 1994
(Show Context)
Citation Context ... and e 00 . Typing of computation states is defined as follows: \Gamma ` h\Sigma; ei :sif ;; \Gamma ` e :s, and ;; \Gamma ` \Sigma(x) :sx where \Gamma(x) =sx Ref, for each x 2 dom (\Sigma). Following =-=[19]-=- we establish soundness of the type system of Soop with respect to the computation relations by proving that a subject reduction property holds for this type system, and that the stuck states cannot b... |

485 | A semantics of multiple inheritance
- Cardelli
- 1988
(Show Context)
Citation Context ...pe variables ofs. The Soop types are partially ordered by the subtyping relation , formalized by the system of rules in Figure 3. The subtyping system is an extension of the standard record subtyping =-=[6]-=- with recursive and F-bounded polymorphic types. A constraint system C is a finite map inTVar !Typ; in our proof rules for the subtyping relation such functions serve as systems of assumptions about t... |

304 | Subtyping recursive types
- Amadio, Cardelli
- 1991
(Show Context)
Citation Context ...soundness, or the Loop type checking algorithm (Section 6). Examples are rules for distributing quantifiers over type constructors, and the more sophisticated subtyping relation on recursive types of =-=[1]. 5 L-=-oop Type Soundness In this section we present the Loop type system, and show how Loop terms and types may be given meaning by translation into Soop, the result being Loop programs experience no "... |

257 | R.: The revised report on the syntactic theories of sequential control and
- Felleisen, Hieb
- 1992
(Show Context)
Citation Context ...cs and type soundness proofs cannot be presented in detail here; complete proofs may be found in [9]. Here we must settle for a brief outline. We present semantics of Soop in the general framework of =-=[10, 14]-=-. The operational interpreter of the language is specified by binary relations between Soop terms in memory environments, which represent the notion of computation. A computation state h\Sigma; ei is ... |

243 |
Inheritance is not subtyping
- Cook, Hill, et al.
- 1990
(Show Context)
Citation Context ...res of (untyped) classbased OOP, including treatment of two particularly difficult issues: binary methods and object subsumption. Important strides toward solving this problem have recently been made =-=[8, 5, 2, 15]. By using-=- F-bounded quantification, these researchers can capture the openended nature of class definitions in the presence of inheritance: "self" refers not only to the current class being defined, ... |

135 |
F-bounded polymorphism for objectoriented programming
- Canning, Cook, et al.
- 1989
(Show Context)
Citation Context ...res of (untyped) classbased OOP, including treatment of two particularly difficult issues: binary methods and object subsumption. Important strides toward solving this problem have recently been made =-=[8, 5, 2, 15]. By using-=- F-bounded quantification, these researchers can capture the openended nature of class definitions in the presence of inheritance: "self" refers not only to the current class being defined, ... |

132 | A denotational semantics of inheritance and its correctness
- Cook, Palsberg
- 1989
(Show Context)
Citation Context ...ixed. 5.2 Operational Semantics The semantics of Loop is defined via a translation of Loop terms into Soop terms; this translation is given in Figure 7. In many encodings of object-oriented languages =-=[7, 13]-=- an object is defined as a record formed by taking a fixed point of a class function, a function mapping records to records. This results in a recursive record, and the methods of the object---fields ... |

111 | Equivalence in functional languages with effects
- Mason, Talcott
- 1991
(Show Context)
Citation Context ...cs and type soundness proofs cannot be presented in detail here; complete proofs may be found in [9]. Here we must settle for a brief outline. We present semantics of Soop in the general framework of =-=[10, 14]-=-. The operational interpreter of the language is specified by binary relations between Soop terms in memory environments, which represent the notion of computation. A computation state h\Sigma; ei is ... |

102 | Bounded quantification is undecidable
- Pierce
- 1994
(Show Context)
Citation Context ... requires decidable type checking. Some progress has been made in this area for functional OO languages [3], but the problem is difficult and the most general type systems may prove to be undecibible =-=[16]. The fina-=-l problem we address is the integration of type systems with different views of the type of "self." We call the Fbounded view of typing inheritance the open-self view, and subtype-based inhe... |

88 |
Toward A Typed Foundation for Method Specialization and Inheritance
- Mitchell
- 1990
(Show Context)
Citation Context ...res of (untyped) classbased OOP, including treatment of two particularly difficult issues: binary methods and object subsumption. Important strides toward solving this problem have recently been made =-=[8, 5, 2, 15]. By using-=- F-bounded quantification, these researchers can capture the openended nature of class definitions in the presence of inheritance: "self" refers not only to the current class being defined, ... |

75 | Type inference for records in a natural extension of ML - Rémy - 1993 |

35 |
Safe type checking in a statically-typed object-oriented programming language
- Bruce
- 1993
(Show Context)
Citation Context |

35 | Safe and decidable type checking in an object-oriented language
- Bruce, Crabtree, et al.
(Show Context)
Citation Context ...ntral importance to OOP and cannot be ignored. Another problem is that an implementable language requires decidable type checking. Some progress has been made in this area for functional OO languages =-=[3], but-=- the problem is difficult and the most general type systems may prove to be undecibible [16]. The final problem we address is the integration of type systems with different views of the type of "... |

35 | Two semantic models of object-oriented languages
- Kamin, Reddy
- 1994
(Show Context)
Citation Context ...ixed. 5.2 Operational Semantics The semantics of Loop is defined via a translation of Loop terms into Soop terms; this translation is given in Figure 7. In many encodings of object-oriented languages =-=[7, 13]-=- an object is defined as a record formed by taking a fixed point of a class function, a function mapping records to records. This results in a recursive record, and the methods of the object---fields ... |

34 |
A Static Type System for Message Passing
- Ghelli
- 1991
(Show Context)
Citation Context ...nal semantics: no run-time type errors can occur. To be clear, we do not address delegation-style OOP here [15], nor do we consider having dynamic dispatch based on type information known at run-time =-=[11]-=-. 2 The Loop Language We begin our discussion by defining a representative object-oriented programming language, Loop (Little Object-Oriented Programming language). Identifiers of Loop are divided int... |

21 |
Wrapper semantics of an object-oriented programming language with state
- Hense
- 1991
(Show Context)
Citation Context ...hared by all objects of the class) or "too late" (new cells are being allocated at each access to the object). Several solutions with various limitations have been proposed; the reader is re=-=ferred to [12, 4]-=- and the discussions in [9] for details. Our approach avoids these limitations by defining a fixed point combinator in terms of mutable cells in the spirit of Landin. A first approximation to this is ... |

20 | An interpretation of typed OOP in a language with state
- Eifrig, Smith, et al.
- 1995
(Show Context)
Citation Context ...ere C is consistent and \Gamma is closed in C. Due to space considerations the Soop operational semantics and type soundness proofs cannot be presented in detail here; complete proofs may be found in =-=[9]-=-. Here we must settle for a brief outline. We present semantics of Soop in the general framework of [10, 14]. The operational interpreter of the language is specified by binary relations between Soop ... |

17 |
TOIL: A new type-safe object-oriented imperative language. Manuscript
- Bruce, Gent
- 1993
(Show Context)
Citation Context ...hared by all objects of the class) or "too late" (new cells are being allocated at each access to the object). Several solutions with various limitations have been proposed; the reader is re=-=ferred to [12, 4]-=- and the discussions in [9] for details. Our approach avoids these limitations by defining a fixed point combinator in terms of mutable cells in the spirit of Landin. A first approximation to this is ... |

4 |
A sequent calculus for type assignment
- Seldin
- 1977
(Show Context)
Citation Context ...h\Sigma; ei :s, then either h\Sigma; ei diverges, or h\Sigma; ei 7! h\Sigma 0 ; vi and \Gamma 0 ` h\Sigma 0 ; vi :sfor some \Gamma 0 . In comparison with proofs of subject reduction for the -calculus =-=[18]-=- and ML-style polymorphic languages [19], the proof for the Soop type system is complicated by the relatively rich subtyping relation. The only analog of subtyping in the ML type system is that a term... |