We present type substitution as a new genericity mechanism for object-oriented languages. It is a subclassing concept on the same footing as inheritance, and is more flexible than parameterized classes. We prove that type substitution and inheritance together form an orthogonal basis for a general subclass relation that captures type-safe code reuse. Thus, genericity and inheritance are independent, complementary components of a unified concept. Our result is obtained in a novel model of classes which encompasses classes as types and assignments
A type may be a subtype of another type. The intuition about this should be clear: a type is a type ...
Inheritance is an important concept in object-oriented programming. The mechanisms provided by many ...
ion Relations to Verify Abstract Data Type Representations," IEEE Transactions on Software Engi...
Genericity allows the substitution of types in a class. This is usually obtained through parameteriz...
Genericity allows the substitution of types in a class. This is usually obtained through parameteriz...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
We introduce substitution polymorphism as a new basis for typed object-oriented languages. While av...
Abstract. Generic types in programming languages are most often supported with various forms of para...
AbstractWe develop a theory of statically typed object-oriented languages. It represents classes as ...
In object-oriented programming, the inheritance is one of the factors which induce semantic complexi...
Subtyping and inheritance belong to the major concepts in contemporary object-oriented programming l...
We present a new type system for object-oriented languages with assignments. Types are sets of class...
We present a new type system for object-oriented languages with assignments. Types are sets of class...
Type abstraction in object-oriented languages embody two techniques, each with its own strenghts and...
A type may be a subtype of another type. The intuition about this should be clear: a type is a type ...
Inheritance is an important concept in object-oriented programming. The mechanisms provided by many ...
ion Relations to Verify Abstract Data Type Representations," IEEE Transactions on Software Engi...
Genericity allows the substitution of types in a class. This is usually obtained through parameteriz...
Genericity allows the substitution of types in a class. This is usually obtained through parameteriz...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
We introduce substitution polymorphism as a new basis for typed object-oriented languages. While av...
Abstract. Generic types in programming languages are most often supported with various forms of para...
AbstractWe develop a theory of statically typed object-oriented languages. It represents classes as ...
In object-oriented programming, the inheritance is one of the factors which induce semantic complexi...
Subtyping and inheritance belong to the major concepts in contemporary object-oriented programming l...
We present a new type system for object-oriented languages with assignments. Types are sets of class...
We present a new type system for object-oriented languages with assignments. Types are sets of class...
Type abstraction in object-oriented languages embody two techniques, each with its own strenghts and...
A type may be a subtype of another type. The intuition about this should be clear: a type is a type ...
Inheritance is an important concept in object-oriented programming. The mechanisms provided by many ...
ion Relations to Verify Abstract Data Type Representations," IEEE Transactions on Software Engi...