A static C++ object-oriented programming (SCOOP) paradigm mixing benefits of traditional OOP and generic programming

From LRDE

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