The work described in this report was motivated by a desire to understand the implementation of inheritance in C++. In particular a paper by W.Harris entitled "Contravariance for the rest of us" had raised issues concerning the interpretation of overloading in inheritance. We wished to establish whether overloading in C++ is used to maintain the subtype relationship in the way that Harris suggests. Other work on contravariance has addressed the contravariance-covariance debate and C++ is interesting in that it permits neither contravariance nor covariance. This 'no-variance' policy was thought to be worth investigating in relation to subtyping. Before exploring C++, we explain the way in which we use the terms overloading and polymorphism a...
The programming language Cforall extends the C language with, among other things, overloading, param...
We present an operational semantics and type safety proof for multiple inheritance in C++. The seman...
Our objective is to understand the notion of type in programming languages, present a model of typed...
In the Object-Oriented Programming Systems (OOPS), these two concepts namely function overloading an...
Inheritance together with virtual functions in C++ provides programmers much polymorphism, an import...
Abstract- In object-oriented programming (OOP), C++ strongly support the concept of Reusablity. In t...
In type-theoretic research on object-oriented programming, the issue of ``covariance versus contrava...
In object-oriented programming (OOP), C++ strongly support the concept of Reusablity. In this paper ...
C++ uses inheritance as a substitute for subtype polymorphism. We give examples where this makes the...
Object-oriented programming is often characterized as encapsulation plus polymorphism plus inheritan...
Jonathan G. Rossie, Jr. and Daniel P. Friedman fjrossie,dfriedg@cs.indiana.edu Department of Compu...
A type may be a subtype of another type. The intuition about this should be clear: a type is a type ...
We outline the design and detail the implementation of a language extension for abstracting types an...
One of the principal characterising features of a programming language is its type system. Many rece...
Overloading allows several function definitions for the same name, distinguished primarily through d...
The programming language Cforall extends the C language with, among other things, overloading, param...
We present an operational semantics and type safety proof for multiple inheritance in C++. The seman...
Our objective is to understand the notion of type in programming languages, present a model of typed...
In the Object-Oriented Programming Systems (OOPS), these two concepts namely function overloading an...
Inheritance together with virtual functions in C++ provides programmers much polymorphism, an import...
Abstract- In object-oriented programming (OOP), C++ strongly support the concept of Reusablity. In t...
In type-theoretic research on object-oriented programming, the issue of ``covariance versus contrava...
In object-oriented programming (OOP), C++ strongly support the concept of Reusablity. In this paper ...
C++ uses inheritance as a substitute for subtype polymorphism. We give examples where this makes the...
Object-oriented programming is often characterized as encapsulation plus polymorphism plus inheritan...
Jonathan G. Rossie, Jr. and Daniel P. Friedman fjrossie,dfriedg@cs.indiana.edu Department of Compu...
A type may be a subtype of another type. The intuition about this should be clear: a type is a type ...
We outline the design and detail the implementation of a language extension for abstracting types an...
One of the principal characterising features of a programming language is its type system. Many rece...
Overloading allows several function definitions for the same name, distinguished primarily through d...
The programming language Cforall extends the C language with, among other things, overloading, param...
We present an operational semantics and type safety proof for multiple inheritance in C++. The seman...
Our objective is to understand the notion of type in programming languages, present a model of typed...