Difference between revisions of "Publications/burrus.03.mpool"

From LRDE

(Created page with "{{Publication | date = 2003-10-29 | authors = Nicolas Burrus, Alexandre Duret-Lutz, Thierry Géraud, David Lesage, Raphaël Poss | title = A static C++ object-oriented program...")
 
Line 1: Line 1:
 
{{Publication
 
{{Publication
  +
| published = true
 
| date = 2003-10-29
 
| date = 2003-10-29
 
| authors = Nicolas Burrus, Alexandre Duret-Lutz, Thierry Géraud, David Lesage, Raphaël Poss
 
| authors = Nicolas Burrus, Alexandre Duret-Lutz, Thierry Géraud, David Lesage, Raphaël Poss

Revision as of 15:50, 14 November 2013

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,
  project	= {Olena},
  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.}
}