Sciweavers

GPCE
2003
Springer

Concept-Controlled Polymorphism

13 years 9 months ago
Concept-Controlled Polymorphism
Concepts—sets of abstractions related by common requirements— have a central role in generic programming. This paper proposes a general framework for using concepts to control polymorphism in different ways. First, concepts can be used to constrain parametric polymorphism, as exemplified by type classes in Haskell. Second, concepts can be used to provide fine-grained control of function and operator overloading. Finally, generic functions can be overloaded (specialized) based on concepts, rather than simply on types. We describe a C++ implementation of a new mechanism, which we call enable_if, and its role in concept-controlled polymorphism.
Jaakko Järvi, Jeremiah Willcock, Andrew Lumsd
Added 06 Jul 2010
Updated 06 Jul 2010
Type Conference
Year 2003
Where GPCE
Authors Jaakko Järvi, Jeremiah Willcock, Andrew Lumsdaine
Comments (0)