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.

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.}
}