Abstract. 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.
In generic programming, software components are parameterized on types. When available, a static spe...
Our objective is to understand the notion of type in programming languages, present a model of typed...
This thesis aims at making Datatype Generic Programming more useful in practice. We extend the fixed...
Structural polymorphism is a generic programming technique known within the functional programming c...
Generic programming is an attractive paradigm for developing libraries for high-performance computin...
Abstract. Generic programming is a paradigm for systematic design and classification of software com...
Generic programming is an indispensable ingredient of modern programming languages. In the C++ prog...
Abstract. Generic programming in C++ is characterized by the use of template parameters to represent...
We define a mapping from generic Haskell specifications to C++ with concepts, a recent extension to ...
This paper explores how certain ideas in object oriented languages have their correspondents in func...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
Two traditions of generics • Safe (but restricted expressiveness)! Alphard, CLU, ML, Haskell, Java, ...
AbstractConstrained genericity is an extension of parametric polymorphism, that allows type paramete...
Our objective is to understand the notion of type in programming languages, present a model of typed...
Abstract. Generic Haskell is an extension of Haskell that supports the construction of generic progr...
In generic programming, software components are parameterized on types. When available, a static spe...
Our objective is to understand the notion of type in programming languages, present a model of typed...
This thesis aims at making Datatype Generic Programming more useful in practice. We extend the fixed...
Structural polymorphism is a generic programming technique known within the functional programming c...
Generic programming is an attractive paradigm for developing libraries for high-performance computin...
Abstract. Generic programming is a paradigm for systematic design and classification of software com...
Generic programming is an indispensable ingredient of modern programming languages. In the C++ prog...
Abstract. Generic programming in C++ is characterized by the use of template parameters to represent...
We define a mapping from generic Haskell specifications to C++ with concepts, a recent extension to ...
This paper explores how certain ideas in object oriented languages have their correspondents in func...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
Two traditions of generics • Safe (but restricted expressiveness)! Alphard, CLU, ML, Haskell, Java, ...
AbstractConstrained genericity is an extension of parametric polymorphism, that allows type paramete...
Our objective is to understand the notion of type in programming languages, present a model of typed...
Abstract. Generic Haskell is an extension of Haskell that supports the construction of generic progr...
In generic programming, software components are parameterized on types. When available, a static spe...
Our objective is to understand the notion of type in programming languages, present a model of typed...
This thesis aims at making Datatype Generic Programming more useful in practice. We extend the fixed...