C++ is a multi-paradigm language. The two main paradigms in C++ are object-oriented programming and generic programming. Many real-world C++ software projects use these two paradigms side by side. This creates considerable tension due to the fact that object-oriented programming is largely based on the judicious choice of types and hierarchies, while generic programming tends to cause an abundance of unrelated types. We show how type erasure can reconcile these conflicting tendencies. We present iterator type erasure as a concrete example that we have implemented and that is being used in production code at Zephyr Associates, Inc.. The Tension between Object-Oriented and Generic Programming The most widely used programming paradigms in C++ ...
Our objective is to understand the notion of type in programming languages, present a model of typed...
This paper explores how certain ideas in object oriented languages have their correspondents in func...
We outline the design and detail the implementation of a language extension for abstracting types an...
Object-oriented programming is often characterized as encapsulation plus polymorphism plus inheritan...
Kind-C++ has been a on-going project since Fall, 1992. In the project, we introduce a new level of e...
Artículo de publicación ISIObject-orientation relies on polymorphism to express behavioral variants....
Generic object-oriented programming languages combine parametric polymorphism and nominal subtype po...
Our objective is to understand the notion of type in programming languages, present a model of typed...
não disponívelIn this work the ideas of object-oriented programming are analyzed from different poin...
Compilation of polymorphic code through type erasure gives compact code but performance on primitive...
The object-oriented type theory for non-specialists is discussed. It is shown that how parametric po...
A thorough and in-depth analysis of the underlying ideas and methodology of object-orientation and g...
Software Engineering progresses as improvements are made in languages and methodologies. Significant...
C++ uses inheritance as a substitute for subtype polymorphism. We give examples where this makes the...
In recent years, two developments in the design of programming languages have yielded significant im...
Our objective is to understand the notion of type in programming languages, present a model of typed...
This paper explores how certain ideas in object oriented languages have their correspondents in func...
We outline the design and detail the implementation of a language extension for abstracting types an...
Object-oriented programming is often characterized as encapsulation plus polymorphism plus inheritan...
Kind-C++ has been a on-going project since Fall, 1992. In the project, we introduce a new level of e...
Artículo de publicación ISIObject-orientation relies on polymorphism to express behavioral variants....
Generic object-oriented programming languages combine parametric polymorphism and nominal subtype po...
Our objective is to understand the notion of type in programming languages, present a model of typed...
não disponívelIn this work the ideas of object-oriented programming are analyzed from different poin...
Compilation of polymorphic code through type erasure gives compact code but performance on primitive...
The object-oriented type theory for non-specialists is discussed. It is shown that how parametric po...
A thorough and in-depth analysis of the underlying ideas and methodology of object-orientation and g...
Software Engineering progresses as improvements are made in languages and methodologies. Significant...
C++ uses inheritance as a substitute for subtype polymorphism. We give examples where this makes the...
In recent years, two developments in the design of programming languages have yielded significant im...
Our objective is to understand the notion of type in programming languages, present a model of typed...
This paper explores how certain ideas in object oriented languages have their correspondents in func...
We outline the design and detail the implementation of a language extension for abstracting types an...