A static C++ object-oriented programming (SCOOP) paradigm mixing benefits of traditional OOP and generic programming
From LRDE
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
- Authors
- Nicolas Burrus, Alexandre Duret-Lutz, Thierry Géraud, David Lesage, Raphaël Poss
- Where
- Proceedings of the Workshop on Multiple Paradigm with Object-Oriented Languages (MPOOL)
- Place
- Anaheim, CA, USA
- Type
- inproceedings
- Projects
- Olena
- Date
- 2003-10-29
Abstract
Object-oriented and generic programming are both supported in C++. OOP provides high expressiveness whereas GP leads to more efficient programs by avoiding dynamic typing. This paper presents SCOOP, a new paradigm which enables both classical OO design and high performance in C++ by mixing OOP and GP. We show how classical and advanced OO features such as virtual methods, multiple inheritance, argument covariance, virtual types and multimethods can be implemented in a fully statically typed model, hence without run-time overhead.
Documents
Bibtex (lrde.bib)
@InProceedings{ burrus.03.mpool, author = {Nicolas Burrus and Alexandre Duret-Lutz and Thierry G\'eraud and David Lesage and Rapha\"el Poss}, title = {A static {C++} object-oriented programming ({SCOOP}) paradigm mixing benefits of traditional {OOP} and generic programming}, booktitle = {Proceedings of the Workshop on Multiple Paradigm with Object-Oriented Languages (MPOOL)}, year = 2003, address = {Anaheim, CA, USA}, month = oct, abstract = {Object-oriented and generic programming are both supported in C++. OOP provides high expressiveness whereas GP leads to more efficient programs by avoiding dynamic typing. This paper presents SCOOP, a new paradigm which enables both classical OO design and high performance in C++ by mixing OOP and GP. We show how classical and advanced OO features such as virtual methods, multiple inheritance, argument covariance, virtual types and multimethods can be implemented in a fully statically typed model, hence without run-time overhead.} }