In this paper we present the mechanisms of lifting and lowering which have been incorporated into recent programing languages. In these languages, lifting and lowering are key features in the integration of static, class based inheritance and instance based composition with delegation. We present the embedding of these concepts into our model Object Teams. We elaborate the details of rules and constraints at the type level, which give to the approach the capability of non-invasively integrating modules with different inheritance structures. These rules setup a new kind of substitutability called translation polymorphism. We show how translation polymorphism integrates with subtype polymorphism. By generalizing over the presented techniques ...
AbstractClasses play a dual role in mainstream statically typed object-oriented languages, serving a...
In object-oriented programming, the inheritance is one of the factors which induce semantic complexi...
Abstract. This paper takes polymorphism to the multi-object level. Traditional inheritance, polymorp...
Abstract In this paper we present the mechanisms of lifting and lowering which have been incorporate...
Our objective is to understand the notion of type in programming languages, present a model of typed...
A low-level data structure always has a predefined representation which does not fit into an object ...
Our objective is to understand the notion of type in programming languages, present a model of typed...
Most common object models of distributed object systems lack support for 'polymorphism' (an abstract...
Subtyping and inheritance belong to the major concepts in contemporary object-oriented programming l...
Subtype relationships in object-oriented programming languages are studied to aid code reuse and rea...
We introduce substitution polymorphism as a new basis for typed object-oriented languages. While av...
We present type substitution as a new genericity mechanism for object-oriented languages. It is a s...
For several decades, inheritance and delegation have been widely adopted for code reuse in object-or...
In previous work, we presented rules for defining overloaded functions that ensure type safety under...
We propose a conservative extension of the polymorphic lambda calculus ()# * ) as an intermediate la...
AbstractClasses play a dual role in mainstream statically typed object-oriented languages, serving a...
In object-oriented programming, the inheritance is one of the factors which induce semantic complexi...
Abstract. This paper takes polymorphism to the multi-object level. Traditional inheritance, polymorp...
Abstract In this paper we present the mechanisms of lifting and lowering which have been incorporate...
Our objective is to understand the notion of type in programming languages, present a model of typed...
A low-level data structure always has a predefined representation which does not fit into an object ...
Our objective is to understand the notion of type in programming languages, present a model of typed...
Most common object models of distributed object systems lack support for 'polymorphism' (an abstract...
Subtyping and inheritance belong to the major concepts in contemporary object-oriented programming l...
Subtype relationships in object-oriented programming languages are studied to aid code reuse and rea...
We introduce substitution polymorphism as a new basis for typed object-oriented languages. While av...
We present type substitution as a new genericity mechanism for object-oriented languages. It is a s...
For several decades, inheritance and delegation have been widely adopted for code reuse in object-or...
In previous work, we presented rules for defining overloaded functions that ensure type safety under...
We propose a conservative extension of the polymorphic lambda calculus ()# * ) as an intermediate la...
AbstractClasses play a dual role in mainstream statically typed object-oriented languages, serving a...
In object-oriented programming, the inheritance is one of the factors which induce semantic complexi...
Abstract. This paper takes polymorphism to the multi-object level. Traditional inheritance, polymorp...