We develop a theory of statically typed object-oriented languages. It represents classes as labeled, regular trees, types as finite sets of classes, and subclassing as a partial order on trees. We show that our subclassing order strictly generalizes inheritance, and that a novel genericity mechanism arises as an order-theoretic complement. This mechanism, called class substitution, is pragmatically useful and can be implemented efficiently. 1 Introduction Object-oriented programming is becoming widespread. Numerous programming languages supporting object-oriented concepts are in use, and theories about object-oriented design and implementation are being developed and applied [21, 3, 14]. An important issue in object-oriented programming is...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
We give a direct type-theoretic characterization of the basic mechanisms of object-oriented programm...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
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,...
AbstractWe develop a theory of statically typed object-oriented languages. It represents classes as ...
Genericity allows the substitution of types in a class. This is usually obtained through parameteriz...
We present type substitution as a new genericity mechanism for object-oriented languages. It is a s...
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 present a new type system for object-oriented languages with assignments. Types are sets of class...
Subtyping and inheritance belong to the major concepts in contemporary object-oriented programming l...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
We give a direct type-theoretic characterization of the basic mechanisms of object-oriented programm...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
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,...
AbstractWe develop a theory of statically typed object-oriented languages. It represents classes as ...
Genericity allows the substitution of types in a class. This is usually obtained through parameteriz...
We present type substitution as a new genericity mechanism for object-oriented languages. It is a s...
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 present a new type system for object-oriented languages with assignments. Types are sets of class...
Subtyping and inheritance belong to the major concepts in contemporary object-oriented programming l...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
Objects have been categorised into classes that declare and implement their behaviour ever since the...
We give a direct type-theoretic characterization of the basic mechanisms of object-oriented programm...
Objects have been categorised into classes that declare and implement their behaviour ever since the...