MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

A Static C++ Object-Oriented Programming (SCOOP) Paradigm Mixing Benefits of Traditional OOP and Generic Programming (2003) [3 citations — 0 self]

by Nicolas Burrus ,  Alexandre Duret-Lutz ,  Re Duret-lutz ,  Thierry Geraud ,  David Lesage ,  Raphael Poss
In Proceedings of the Workshop on Multiple Paradigm with OO Languages (MPOOL
Add To MetaCart

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.

Citations

3878 Design Patterns: Elements of Reusable ObjectOriented Software – Gamma, Helm, et al. - 1995
719 On understanding types, data abstraction, and polymorphism – Cardelli, Wegner - 1985
651 Eiffel. The language – MEYER - 1992
286 Making the Future Safe for the Past: Adding Genericity to the Java Programming Language – Bracha, Odersky, et al. - 1998
233 Inheritance is not subtyping – Cook, Hill, et al. - 1990
203 Fast Static Analysis of C++ Virtual Function Calls – Bacon, Sweeney - 1996
202 The Standard Template Library – Stepanov, Lee - 1994
191 The Design and Evolution of C – Stroustrup - 1999
157 Parameterized Types and Java – Bank, Liskov, et al. - 1996
129 Polytoil: A type-safe polymorphic objectoriented language – Bruce, Schuett, et al. - 2003
114 Abstraction mechanisms in CLU – Liskov, Snyder, et al. - 1977
111 F-Bounded Polymorphism for Object-Oriented Programming – Canning, Cook, et al. - 1989
101 U.: Generative Programming: Methods, Tools, and Applications – Czarnecki, Eisenecker - 2000
101 Expression templates – Veldhuizen - 1995
61 A statical safe alternative to virtual types – Bruce, Odersky, et al. - 1998
56 CLU Reference Manual – Liskov - 1979
55 Genericity versus Inheritance – Meyer - 1986
54 Traits: a New and Useful Template Technique – Myers - 1995
51 Eliminating virtual function calls in c++ programs – Aigner, Hölzle - 1996
50 The direct cost of virtual function calls in c – Driesen, Holzle - 1996
41 Genericity in Java with Virtual Types – Thorup
34 Subtyping is not a good “match” for objectoriented languages – Bruce, Fiech, et al. - 1997
31 Whole Program Optimization of Object-Oriented Languages – Dean - 1996
27 Efficient Dynamic Dispatch without Virtual Function Tables. The SmallEiffel Compiler – Zendra, Colnet, et al. - 1997
26 Concept checking: Binding parametric polymorphism in C – Siek, Lumsdaine - 2000
25 Scientific and Engineering C – Barton, Nackman - 1994
23 C++ Templates: The Complete Guide – Vandevoorde, Josuttis - 2002
22 Techniques for scientific C – VELDHUIZEN - 2000
19 Implementing signatures for C – Baumgartner, Russo - 1995
17 Curiously Recurring Template Patterns – Coplien - 1995
16 Partial evaluation for class-based object-oriented languages – SCHULTZ - 2001
15 Mixin-Based Programming in C – Smaragdakis, Batory - 2000
13 Unifying genericity: Combining the benefits of virtual types and parameterized classes – Thorup, Torgersen - 1999
11 Static interfaces in C – McNamara, Smaragdakis - 2000
10 An expression template aware lambda function – Striegnitz, Smith - 2000
8 Design patterns for generic programming – Duret-Lutz, Géraud, et al. - 2001
7 Disambiguated glommable expression templates – Furnish - 1997
7 The lambda library: Lambda abstraction in C – Järvi, Powell - 2001
4 Guaranteed optimization: Proving nullspace properties of compilers – Veldhuizen, Lumsdaine - 2002
3 Program templates: Expression templates applied to program evaluation – Maes - 2003
3 On orthogonal specialization in C++: Dealing with efficiency and algebraic abstraction in Vaucanson – Régis-Gianas, Poss - 2003
3 Type-safe covariance – Surazhsky, Gil - 2004
2 How non-member functions improve encapsulation – Meyers - 2000
1 Expression templates in Ada – Duret-Lutz - 2001
1 Applying generic programming to image processing – Géraud, Fabre, et al. - 2001
1 Implementing design patterns using C++ templates. Tutorial at the – Langer - 2000
1 Olena image processing library – Olena - 2003
1 Scientific computing in object-oriented languages – oonumerics - 2003
1 On the (un)reality of virtual types. URL http: //pauillac.inria.fr/~remy/work/virtual – Rémy, Vouillon - 2000
1 FC++: Functional tools for objectoriented tasks – Smaragdakis, McNamara - 2002