CLEAN: A language for functional graph rewriting
Proc. of a conference on Functional programming languages and computer architecture
The Ada Generic Library linear list processing packages
The Ada Generic Library linear list processing packages
The design and evolution of C++
The design and evolution of C++
Algorithm-oriented generic libraries
Software—Practice & Experience
Pizza into Java: translating theory into practice
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Modern C++ design: generic programming and design patterns applied
Modern C++ design: generic programming and design patterns applied
The C++ Programming Language
C++ Templates
A comparative study of language support for generic programming
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
An extension to the subtype relationship in C++ implemented with template metaprogramming
Proceedings of the 2nd international conference on Generative programming and component engineering
C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series)
Beyond the C++ Standard Library
Beyond the C++ Standard Library
Essential language support for generic programming
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A language for generic programming
A language for generic programming
Hi-index | 0.00 |
C++ template metaprogramming is often regarded as a functional language, however, nowadays metaprogram libraries are not implemented in functional programming style. In this paper we discuss a compile-time graph-rewriting engine based on the properties of the functional language Clean. The most important property imported from the functional paradigm is the lazy evaluation strategy. With the help of the engine it is possible to embed lazy functional-style code into C++ programs, and transform it into template metaprograms. We present the implemented lazy evaluation strategy by examples including also infinite lists.