Results 1 -
2 of
2
An Interpretation of Objects and Object Types
, 1996
"... We present an interpretation of typed object-oriented concepts in terms of well-understood, purely procedural concepts. More precisely, we give a compositional subtypepreserving translation of a basic object calculus supporting method invocation, functional method update, and subtyping, into the pol ..."
Abstract
-
Cited by 51 (1 self)
- Add to MetaCart
We present an interpretation of typed object-oriented concepts in terms of well-understood, purely procedural concepts. More precisely, we give a compositional subtypepreserving translation of a basic object calculus supporting method invocation, functional method update, and subtyping, into the polymorphic -calculus with recursive types and subtyping. The translation techniques apply also to an imperative version of the object calculus which includes inplace method update and object cloning. Finally, the translation easily extends to "Self types" and other interesting object-oriented constructs. 1 Introduction Object-oriented programming languages have introduced numerous ideas, structures, and techniques. Although these contributions are not always conceptually clear (or even sound), they are often original and useful. One of the most basic contributions is the notion of self; the operations associated with an object (its methods) can refer to the object as self, and invoke other op...
A Generic Object-Calculus Based on Addressed Term Rewriting Systems
, 2001
"... We describe the foundations of Obj +a , a framework, or generic calculus, for modeling object-calculi. This framework is essentially a detailed formal operational semantics of object based languages, in the style of the Lambda Calculus of Objects. As a formalism for specication Obj +a is arra ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We describe the foundations of Obj +a , a framework, or generic calculus, for modeling object-calculi. This framework is essentially a detailed formal operational semantics of object based languages, in the style of the Lambda Calculus of Objects. As a formalism for specication Obj +a is arranged in modules, permitting a natural classication of many object-based calculi according to their features. In particular there are modules for calculi of non-mutable objects (i.e., functional object-calculi) and for calculi of mutable objects (i.e., imperative object-calculi). As a computational formalism Obj +a is based on rewriting rules. Classical rst-order term rewriting systems are not appropriate since we want to reect aspects of implementation practice such as sharing, cycles in data structures and mutation. Therefore we dene the notion of addressed terms, and develop the corresponding notion of addressed term rewriting. CONTENTS 2 Contents 1 Introduction 3 1.1 Ad...

