Covariant typing policies, as they are available in Eiffel or Sather, result in a type system in which the correct typing of a system is not implied by the correct typing of each class. This hinders a secure, incremental development of class libraries in these object-oriented languages. Classes which are added to a library may invalidate others that are already in the library. The paper shows how a covariant typing policy may be omitted without losing flexibility. As a consequence we regain the equivalence of class correctness and system correctness (and hence class validity and system validity). The approach taken in this paper is based on the observation that inheritance is used either for the integration of subsystems or for the adaptati...
A proof system is presented for the verification and derivation of object oriented programs with as ...
AbstractApplication of object-oriented programming techniques to design and implementation of symbol...
Application of object-oriented programming techniques to design and implementation of symbolic compu...
International audienceTwenty years ago, in an article titled "Covariance and contravariance: conflic...
In type theoretic research on object-oriented programming the "covariance versus contravariance...
1 Introduction The problem of covariant specialization in object-oriented languages has been a resea...
The covariant type system is rich enough to represent polymorphism on inductive types, such as lists...
Covariant types are a powerful language feature for improving type-safety. However, covariant types ...
AbstractMatching is a relation between object types originally designed to support type-safe subclas...
We present type substitution as a new genericity mechanism for object-oriented languages. It is a s...
Programming language implementations bridge the gap between what the program developer sees and unde...
The cardinal purpose of teaching programming is to demonstrate a method of developing correct progra...
Elaboration-based type class resolution, as found in languages like Haskell, Mercury and PureScript,...
We show how programming language semantics and definitions of their corresponding type systems can b...
In type-theoretic research on object-oriented programming, the issue of ``covariance versus contrava...
A proof system is presented for the verification and derivation of object oriented programs with as ...
AbstractApplication of object-oriented programming techniques to design and implementation of symbol...
Application of object-oriented programming techniques to design and implementation of symbolic compu...
International audienceTwenty years ago, in an article titled "Covariance and contravariance: conflic...
In type theoretic research on object-oriented programming the "covariance versus contravariance...
1 Introduction The problem of covariant specialization in object-oriented languages has been a resea...
The covariant type system is rich enough to represent polymorphism on inductive types, such as lists...
Covariant types are a powerful language feature for improving type-safety. However, covariant types ...
AbstractMatching is a relation between object types originally designed to support type-safe subclas...
We present type substitution as a new genericity mechanism for object-oriented languages. It is a s...
Programming language implementations bridge the gap between what the program developer sees and unde...
The cardinal purpose of teaching programming is to demonstrate a method of developing correct progra...
Elaboration-based type class resolution, as found in languages like Haskell, Mercury and PureScript,...
We show how programming language semantics and definitions of their corresponding type systems can b...
In type-theoretic research on object-oriented programming, the issue of ``covariance versus contrava...
A proof system is presented for the verification and derivation of object oriented programs with as ...
AbstractApplication of object-oriented programming techniques to design and implementation of symbol...
Application of object-oriented programming techniques to design and implementation of symbolic compu...