. In the area of object-orientation there is a long-standing schism between the rigid but safe statically typed languages, and the expressive and flexible but less safe "typeless" languages. Many efforts have aimed at combining the best of both. This paper presents a language mechanism which enhances the flexibility and expressivity of static languages while preserving the safety properties. It is an inheritance mechanism, with standard single inheritance as a special case. It allows both compile-time and run-time construction of new classes. Moreover, it supports specialization of existing objects at run-time. This helps avoiding the combinatorial explosion in the number of classes associated with multiple inheritance, and it sup...
Statically typed programming languages allow earlier error checking, better enforcement of disciplin...
Abstract. One of the key issues of object-oriented modeling is inher-itance. It allows for the denit...
Traits offer a fine-grained mechanism for composing classes in object-oriented languages from reusab...
Dynamic object reclassification allows changes to the type of an object at runtime. This paper makes...
Abstract. Multiple inheritance and similar mechanisms are usually only supported at compile time in ...
. We have designed and implemented a type inference algorithm for the full Self language. The algori...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
Abstract. Combination of descriptive entities—i.e. multiple inheritance and related mechanisms—is us...
Abstract. Combination of descriptive entities—i.e. multiple inheritance and related mechanisms—is us...
There are two main models of inheritance employed in object-oriented systems: class-based and object...
Many dynamically-typed languages (including JavaScript, Ruby, Python or Racket) support first-class ...
One of the key issues of object-oriented modeling is inheritance. It allows for the definition of su...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
Inheritance is an important concept in object-oriented programming. The mechanisms provided by many ...
We present type substitution as a new genericity mechanism for object-oriented languages. It is a s...
Statically typed programming languages allow earlier error checking, better enforcement of disciplin...
Abstract. One of the key issues of object-oriented modeling is inher-itance. It allows for the denit...
Traits offer a fine-grained mechanism for composing classes in object-oriented languages from reusab...
Dynamic object reclassification allows changes to the type of an object at runtime. This paper makes...
Abstract. Multiple inheritance and similar mechanisms are usually only supported at compile time in ...
. We have designed and implemented a type inference algorithm for the full Self language. The algori...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
Abstract. Combination of descriptive entities—i.e. multiple inheritance and related mechanisms—is us...
Abstract. Combination of descriptive entities—i.e. multiple inheritance and related mechanisms—is us...
There are two main models of inheritance employed in object-oriented systems: class-based and object...
Many dynamically-typed languages (including JavaScript, Ruby, Python or Racket) support first-class ...
One of the key issues of object-oriented modeling is inheritance. It allows for the definition of su...
We develop a theory of statically typed object-oriented languages. It represents classes as labeled,...
Inheritance is an important concept in object-oriented programming. The mechanisms provided by many ...
We present type substitution as a new genericity mechanism for object-oriented languages. It is a s...
Statically typed programming languages allow earlier error checking, better enforcement of disciplin...
Abstract. One of the key issues of object-oriented modeling is inher-itance. It allows for the denit...
Traits offer a fine-grained mechanism for composing classes in object-oriented languages from reusab...