Results 1 - 10
of
16
Fickle: Dynamic Object Re-classification
, 2001
"... Re-classification changes at run-time the class membership of an object while retaining its identity. We suggest language features for object re-classification, which could extend an imperative, typed, class-based, object-oriented language. ..."
Abstract
-
Cited by 59 (10 self)
- Add to MetaCart
Re-classification changes at run-time the class membership of an object while retaining its identity. We suggest language features for object re-classification, which could extend an imperative, typed, class-based, object-oriented language.
More Dynamic Object Re-classification: Fickle_II
"... This paper is organized as follows: In Section 2 we introduce Fickle II informally using an example. In Sections 3, 4, and 5 we outline Fickle II: the syntax, operational semantics, typing rules, and we state type soundness. In Section 6 we compare our proposal with other approaches. In Section 7 we ..."
Abstract
-
Cited by 29 (5 self)
- Add to MetaCart
This paper is organized as follows: In Section 2 we introduce Fickle II informally using an example. In Sections 3, 4, and 5 we outline Fickle II: the syntax, operational semantics, typing rules, and we state type soundness. In Section 6 we compare our proposal with other approaches. In Section 7 we describe design alternatives. In Section 8 we draw some conclusions. The appendix contains an example, some definitions, and the proof of the type soundness result. Even though the object-based paradigm may be more fundamental [Abadi and Cardelli 1996] and though classes should not be types, and subclasses should not imply subtypes [Canning et al. 1989], current praxis predominantly uses languages of the opposite philosophy...
A Lambda Calculus of Objects with Self-Inflicted Extension
- In OOPSLA'98
, 1998
"... In this paper we investigate, in the context of functional prototype-based languages, objects which might extend themselves upon receiving a message. The possibility for an object of extending its own \self", referred to by Cardelli, as a self-inicted operation, is novel in the context of typed obje ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
In this paper we investigate, in the context of functional prototype-based languages, objects which might extend themselves upon receiving a message. The possibility for an object of extending its own \self", referred to by Cardelli, as a self-inicted operation, is novel in the context of typed object-based languages. We present a sound type system for this calculus which guarantees that evaluating a welltyped expression will never yield a message-not-found runtime error. We give several examples which illustrate the increased expressive power of our system with respect to existing calculi of objects. The new type system allows also for a exible width-subtyping, still permitting sound method override, and a limited form of object extension. The resulting calculus appears to be a good starting point for a rigorous mathematical analysis of class-based languages. 1
A Subtyping for Extensible, Incomplete Objects
, 2001
"... We extend the type system for the Lambda Calculus of Objects [16] with a mechanism of width subtyping and a treatment of incomplete objects. The main novelties over previous work are the use of subtype-bounded quantification to capture a new and more direct rendering of MyType polymorphism, and a un ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
We extend the type system for the Lambda Calculus of Objects [16] with a mechanism of width subtyping and a treatment of incomplete objects. The main novelties over previous work are the use of subtype-bounded quantification to capture a new and more direct rendering of MyType polymorphism, and a uniform treatment for other features that were accounted for via different systems in subsequent extensions [7, 6] of [16]. The new system provides for (i) appropriate type specialization of inherited methods, (ii) static detection of errors, (iii) width subtyping compatible with object extension, and (iv) sound typing for partially specified objects.
A Core Calculus of Classes and Objects
- ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE
, 1999
"... We present an imperative calculus for a class-based language. By introducing classes as the basic object-oriented construct in a -calculus with records and references, we obtain a system with an intuitive operational semantics. Objects are instantiated from classes and represented by records. The ty ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
We present an imperative calculus for a class-based language. By introducing classes as the basic object-oriented construct in a -calculus with records and references, we obtain a system with an intuitive operational semantics. Objects are instantiated from classes and represented by records. The type system for objects uses only functional, record, and reference types, and there is a clean separation between subtyping and inheritance. We demonstrate that the calculus is sound and suciently expressive to model advanced language features such as inheritance with method rede nition, multi-level encapsulation, and modular object construction.
Objects Dynamically Changing Class
, 1999
"... We suggest language features that allow objects to mutate, i.e. change their class membership at run-time. These features could extend an imperative, typed, class-based, object-oriented language like Java. We give an operational semantics for a mutation operation that changes the class membership of ..."
Abstract
-
Cited by 8 (6 self)
- Add to MetaCart
We suggest language features that allow objects to mutate, i.e. change their class membership at run-time. These features could extend an imperative, typed, class-based, object-oriented language like Java. We give an operational semantics for a mutation operation that changes the class membership of an object, while keeping the object's identity. We distinguish immutable types and mutable types. Immutable types correspond to Java classes or primitive types; mutable types consist of the family of possible classes to which an object may mutate. The imperative features provided the main challenges. In particular, we had to prevent objects from mutating while executing a method. For this we propose two solutions, which we present through the two languages Fickle and Ficklee. We develop a type system for Fickle and an effect system for Ficklee and prove the soundness of both with respect to the operational semantics.
Ego: Controlling the power of simplicity
- In Proceedings of the Workshop on Foundations of Object Oriented Languages (FOOL/WOOD ’06
, 2006
"... bejleri @ cli.di.unipi.it ..."
Match-O, a Dialect of Eiffel with Match-Types
, 2000
"... It is well known that the Eiel language allows covariant redenition. Regardless of system-level validity rules, Eiel is not type safe. In this paper, we present a dialect of Eiel called Match-O, which prohibits covariant redenition. We introduce a new kind of types, the match-types, inspired by the ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
It is well known that the Eiel language allows covariant redenition. Regardless of system-level validity rules, Eiel is not type safe. In this paper, we present a dialect of Eiel called Match-O, which prohibits covariant redenition. We introduce a new kind of types, the match-types, inspired by the papers of Kim Bruce. The scope of this project is many-fold: { allowing binary methods; { keeping sound \mytype method specialization", i.e. anchored type using Current; { allowing subtyping in all other sound cases. We claim that match-types can be added in the Eiel type system to eliminate type unsoundness without blocking many interesting Eiel programs (e.g. the ones with \binary methods"). We have implemented a compiler for Match-O and we have experimented our dialect on a large system using the original source code of SmallEiel itself. 1:
A Type Checked Prototype-based Model with Linearity. Draft senior thesis, published as Carnegie Mellon
, 2004
"... 1 This thesis presents the work I have done during my visit at Carnegie Mellon ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
1 This thesis presents the work I have done during my visit at Carnegie Mellon
Extensible Objects: a Tutorial
- In Global Computing
, 2003
"... In the object-oriented realm, class-based languages dominate the world of production languages, but object-based languages have been extensively studied to provide the foundations of the object-oriented paradigm. Moreover, object-based languages are undergoing a Renaissance thanks to the growing ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
In the object-oriented realm, class-based languages dominate the world of production languages, but object-based languages have been extensively studied to provide the foundations of the object-oriented paradigm. Moreover, object-based languages are undergoing a Renaissance thanks to the growing popularity of scripting languanges, which are essentially object-based.

