-
Douglas Gregor,
Jaakko Järvi,
Jeremy G. Siek,
Gabriel Dos Reis,
Bjarne Stroustrup,
and Andrew Lumsdaine.
Concepts: Linguistic Support for Generic Programming in C++.
In Proceedings of the 2006 ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA'06),
October 2006.
@InProceedings{gregor06:_concepts,
author = {Douglas Gregor and Jaakko J\"arvi and Jeremy G. Siek and Gabriel Dos Reis and Bjarne Stroustrup and Andrew Lumsdaine},
title = {Concepts: Linguistic Support for Generic Programming in C++},
booktitle = {Proceedings of the 2006 ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA'06)},
year = 2006,
month = oct,
}
-
Andrew Lumsdaine Jaakko Jarvi, Douglas Gregor, Jeremiah Willcock and Jeremy G. Siek.
Algorithm specialization in generic programming - Challenges of constrained generics in C++.
In PLDI '06: Proceedings of the ACM SIGPLAN 2006 conference on Programming language design and implementation,
New York, NY, USA,
June 2006.
ACM Press.
@InProceedings{jaakko06:_algo_spec,
author = {Jaakko Jarvi, Douglas Gregor, Jeremiah Willcock, Andrew Lumsdaine, and Jeremy G. Siek},
title = {Algorithm specialization in generic programming - Challenges of constrained generics in {C++}},
booktitle = {{PLDI} '06: Proceedings of the {ACM} {SIGPLAN} 2006 conference on Programming language design and implementation},
year = 2006,
month = {June},
location = {Ottawa, {CA}, {USA}},
publisher = {{ACM} Press},
address = {New York, {NY}, {USA}},
annote = {Generic programming has recently emerged as a paradigm for developing highly-reusable software libraries, most notably in C++. We have designed and implemented a constrained generics extension for C++ to support modular type-checking of generic algorithms and to address other issues associated with unconstrained generics. To be as broadly applicable as possible, generic algorithms are defined with minimal requirements on their inputs. At the same time, to not lose potential efficiency, generic algorithms may have multiple implementations that exploit features of specific classes of inputs. This process of algorithm specialization relies on non-local type information and conflicts directly with the local nature of modular type-checking. In this paper, we review the design and implementation of our extensions for generic programming in C++, describe the issues of algorithm specialization and modular type-checking in detail, and discuss the important design tradeoffs in trying to accomplish both. We present the particular design that we chose for our implementation, with the goal of hitting the sweet spot in this interesting design space.}
}
-
Jeremy G. Siek and Walid Taha.
A Semantic Analysis of C++ Templates.
In ECOOP 2006: European Conference on Object-Oriented Programming,
Nantes, France,
July 2006.
@InProceedings{siek06:_sem_cpp,
author = {Jeremy G. Siek and Walid Taha},
title = {A Semantic Analysis of {C++} Templates},
booktitle = {ECOOP 2006: European Conference on Object-Oriented Programming},
year = 2006,
address = {Nantes, France},
month = {July}
}
-
Jeremy G. Siek and Walid Taha.
Gradual typing for functional languages.
In Scheme and Functional Programming Workshop,
September 2006.
@InProceedings{siek06:_gradual,
author = {Jeremy G. Siek and Walid Taha},
title = {Gradual typing for functional languages},
booktitle = {Scheme and Functional Programming Workshop},
year = 2006,
month = {September}
}