Two-level functional languages
Two-level functional languages
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
C++ gets faster for scientific computing
Computers in Physics
Register promotion in C programs
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Multi-stage programming with explicit annotations
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A new algorithm for scalar register promotion based on SSA form
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Register promotion by sparse partial redundancy elimination of loads and stores
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Interface Compilation: Steps Toward Compiling Program Interfaces as Languages
IEEE Transactions on Software Engineering
An annotation language for optimizing software libraries
Proceedings of the 2nd conference on Domain-specific languages
Translation validation for an optimizing compiler
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
An automatic object inlining optimization and its evaluation
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The History of Fortran I, II, and III
IEEE Annals of the History of Computing
Just When You Thought Your Little Language Was Safe: ``Expression Templates'' in Java
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
Spike: an optimizer for alpha/NT executables
NT'97 Proceedings of the USENIX Windows NT Workshop on The USENIX Windows NT Workshop 1997
Template meta-programming for Haskell
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
Template meta-programming for Haskell
ACM SIGPLAN Notices
Transforming rapid prototypes to efficient parallel programs
Patterns and skeletons for parallel and distributed computing
Exploring the structure of the space of compilation sequences using randomized search algorithms
The Journal of Supercomputing
Implementing aspect-oriented programming constructs as modular language extensions
Science of Computer Programming
Convergent Compilation Applied to Loop Unrolling
Transactions on High-Performance Embedded Architectures and Compilers I
Reusable, generic program analyses and transformations
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Generic flow-sensitive optimizing transformations in C++ with concepts
Proceedings of the 2010 ACM Symposium on Applied Computing
Backstage Java: making a difference in metaprogramming
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
Compile-time program optimizations are similar to poetry: more are written than are actually published in commercial compilers. Hard economic reality is that many interesting optimizations have too narrow an audience to justify their cost in a general-purpose compiler, and custom compilers are too expensive to write. An alternative is to allow programmers to define their own compile-time optimizations. This has already happened accidentally for C++, albeit imperfectly, in the form of template metaprogramming. This paper surveys the problems, the accidental success, and what directions future research might take to circumvent current economic limitations of monolithic compilers.