A Semantic Definition of Separate Type Checking in C++ with Concepts
Marcin Zalewski and Sibylle Schupp, Chalmers University, Sweden
|
 |
REFEREED
ARTICLE

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/ |