Previous article

Next article


A Semantic Definition of Separate Type Checking in C++ with Concepts

Marcin Zalewski and Sibylle Schupp, Chalmers University, Sweden

space REFEREED
ARTICLE


PDF Icon
PDF Version

Abstract

We formalize the informal definition of C++ concepts that is currently considered by the C++ standardization committee for inclusion in the next version of the language. Our definition captures the basic semantics of separate type checking, where conceptconstrained templates are checked separately from their uses and comprises of three main parts: non-standard name lookup, type checking of constrained templates, and implementation binding in concept maps. The formalization reveals two possible problems in the informal definition: hiding of names is not respected and incompatible implementations can be bound to concept entities. Furthermore, our definition allows formulating intuitively correct code that is rejected by the informal specification.


Note: Due to the typographical sophistication of this article, no HTML version is available. Please use the PDF version.

 


About the authors



 

Marcin Zalewski received his PhD degree in Computer Science from Chalmers University in 2009. Currently, he is a postdoctoral researcher at Open Systems Lab, at Indiana University. His current research interests include generic programming, metaprogramming, and application of algebraic specification methods to software construction. He can be reached at zalewski@osl.iu.edu.



 

Sibylle Schupp is Professor and Head of the Institute for Software Systems at Hamburg University of Technology. See http://www.sts.tu-harburg.de/~schupp for contact details.

Marcin Zalewski, Sibylle Schupp: "A Semantic Definition of Separate Type Checking in C++ with Concepts", in Journal of Object Technology, vol. 8, no. 5, July-August 2009, pp. 105-132 http://www.jot.fm/issues/issue_2009_05/article2/

Previous article

Next article