A static C++ object-oriented programming (SCOOP) paradigm mixing benefits of traditional OOP and generic programming. Burrus, N., Duret-Lutz, A., Géraud, T., Lesage, D., & Poss, R. In Proceedings of the Workshop on Multiple Paradigm with OO Languages (MPOOL'03), Anaheim, CA, USA, October, 2003. Local abstract bibtex 1 download 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.
@inproceedings{burrus03mpool,
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.},
Address = {Anaheim, CA, USA},
Author = {Nicolas Burrus and Alexandre Duret-Lutz and Thierry G{\'e}raud and David Lesage and Raphael Poss},
Booktitle = {Proceedings of the Workshop on Multiple Paradigm with OO Languages (MPOOL'03)},
Keywords = {generic programming, performance, C++},
Month = {October},
Project = {Olena},
Read = {Oui},
Title = {A static {C++} object-oriented programming ({SCOOP}) paradigm mixing benefits of traditional {OOP} and generic programming},
Urllocal = {pub/burrus.03.mpool.pdf},
Year = {2003},
}
Downloads: 1
{"_id":{"_str":"5342bd570e946d920a0034fb"},"__v":1,"authorIDs":["54c2dea9b5fb1e5511000919","5dfafc26fa2bbbde01000122","5e35eb445cd57fde01000070","5e38ff13dc5b8ade01000077","5e64a5962551dede01000063","ZGRaLkjmxPcmJ739z","efnDKftzuGYiXXauW","pgjx6rQxQDmzHuwRK","sCob7zjTXbp95CmbP"],"author_short":["Burrus, N.","Duret-Lutz, A.","Géraud, T.","Lesage, D.","Poss, R."],"bibbaseid":"burrus-duretlutz-graud-lesage-poss-astaticcobjectorientedprogrammingscoopparadigmmixingbenefitsoftraditionaloopandgenericprogramming-2003","bibdata":{"bibtype":"inproceedings","type":"inproceedings","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.","address":"Anaheim, CA, USA","author":[{"firstnames":["Nicolas"],"propositions":[],"lastnames":["Burrus"],"suffixes":[]},{"firstnames":["Alexandre"],"propositions":[],"lastnames":["Duret-Lutz"],"suffixes":[]},{"firstnames":["Thierry"],"propositions":[],"lastnames":["Géraud"],"suffixes":[]},{"firstnames":["David"],"propositions":[],"lastnames":["Lesage"],"suffixes":[]},{"firstnames":["Raphael"],"propositions":[],"lastnames":["Poss"],"suffixes":[]}],"booktitle":"Proceedings of the Workshop on Multiple Paradigm with OO Languages (MPOOL'03)","keywords":"generic programming, performance, C++","month":"October","project":"Olena","read":"Oui","title":"A static C++ object-oriented programming (SCOOP) paradigm mixing benefits of traditional OOP and generic programming","urllocal":"pub/burrus.03.mpool.pdf","year":"2003","bibtex":"@inproceedings{burrus03mpool,\n\tAbstract = {Object-oriented and generic programming are both\n supported in C++. OOP provides high expressiveness\n whereas GP leads to more efficient programs by\n avoiding dynamic typing. This paper presents SCOOP,\n a new paradigm which enables both classical OO\n design and high performance in C++ by mixing OOP and\n GP. We show how classical and advanced OO features\n such as virtual methods, multiple inheritance,\n argument covariance, virtual types and multimethods\n can be implemented in a fully statically typed\n model, hence without run-time overhead.},\n\tAddress = {Anaheim, CA, USA},\n\tAuthor = {Nicolas Burrus and Alexandre Duret-Lutz and Thierry G{\\'e}raud and David Lesage and Raphael Poss},\n\tBooktitle = {Proceedings of the Workshop on Multiple Paradigm with OO Languages (MPOOL'03)},\n\n\n\tKeywords = {generic programming, performance, C++},\n\tMonth = {October},\n\tProject = {Olena},\n\tRead = {Oui},\n\tTitle = {A static {C++} object-oriented programming ({SCOOP}) paradigm mixing benefits of traditional {OOP} and generic programming},\n\tUrllocal = {pub/burrus.03.mpool.pdf},\n\tYear = {2003},\n\t\n\t}\n\n","author_short":["Burrus, N.","Duret-Lutz, A.","Géraud, T.","Lesage, D.","Poss, R."],"key":"burrus03mpool","id":"burrus03mpool","bibbaseid":"burrus-duretlutz-graud-lesage-poss-astaticcobjectorientedprogrammingscoopparadigmmixingbenefitsoftraditionaloopandgenericprogramming-2003","role":"author","urls":{"Local":"science.raphael.poss.name/pub/burrus.03.mpool.pdf"},"keyword":["generic programming","performance","C++"],"metadata":{"authorlinks":{"poss, r":"https://bibbase.org/show?bib=https%3A%2F%2Fscience.raphael.poss.name%2Fpub.bib"}},"downloads":1,"html":""},"bibtype":"inproceedings","biburl":"science.raphael.poss.name/pub.bib","downloads":1,"keywords":["generic programming","performance","c++"],"search_terms":["static","object","oriented","programming","scoop","paradigm","mixing","benefits","traditional","oop","generic","programming","burrus","duret-lutz","géraud","lesage","poss"],"title":"A static C++ object-oriented programming (SCOOP) paradigm mixing benefits of traditional OOP and generic programming","year":2003,"dataSources":["75cdFjzQkYc9cKbYS","nMjrEFThibKqpZt4n","ob9Lo6tki9nBzzxK9"]}