An overview of the Tecton proof system
Theoretical Computer Science - Special issue on formal methods in databases and software engineering
Accuracy and Stability of Numerical Algorithms
Accuracy and Stability of Numerical Algorithms
Concepts: linguistic support for generic programming in C++
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Toward optimized code generation through model-based optimization
Proceedings of the Conference on Design, Automation and Test in Europe
Multicore C++ Standard Template Library in a Generative Way
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
Concepts are a recently proposed extension to C++ for the direct linguistic support of generic programming. As the interface description mechanism for large-scale generic libraries, concepts do not exist in isolation, but rather in semantic frameworks (or concept lattices). Concepts provide powerful type-checking capabilities for generic programming and the semantics associated with them present new and interesting capabilities for library-compiler interactions. This paper presents some of these emergent capabilities in the context of a library of algebraic concepts. Based on this library, which possesses rich, well-structured and mathematically-based semantics, we demonstrate how the concepts therein can enable a sophisticated oncept-aware design for a broad range of scientific generic libraries. In particular, we show that concepts can enable the description and application of property-based, library-defined, optimizations. Whereas compilers without concepts are limited to optimization of built-in types, library-defined optimizations based on concepts not only allow for optimizations of user-defined types unknown to the compiler, they are even applicable to types unknown to the library developer.