Detecting global variables in denotational specifications
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Deriving a compiler from an operational semantics written in VDL
Computer Languages
Semantics-directed code generation
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Deriving Target Code as a Representation of Continuation Semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program developments: formal explanations of implementations
Communications of the ACM
Program Transformation and Programming Environments
Program Transformation and Programming Environments
Program improvement by internal specialization
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A semantics-directed compiler generator
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantics-directed machine architecture
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiler Construction, An Advanced Course, 2nd ed.
The implementation of procedurally reflective languages
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Reification: Reflection without metaphysics
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
Expression procedures and program derivation
Expression procedures and program derivation
Macro-by-example: Deriving syntactic transformations from their specifications
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A bibliography on partial evaluation
ACM SIGPLAN Notices
Correct flow analysis in continuation semantics
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The semantics of program dependence
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Separating binding times in language specifications
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Transformations on higher-order functions
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Formal manipulation of modular software systems
Conference proceedings on Formal methods in software development
Staging transformations for abstract machines
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A self-applicable partial evaluator for the lambda calculus: correctness and pragmatics
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Specifying the correctness of binding-time analysis
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Operational semantics-directed compilers and machine architectures
ACM Transactions on Programming Languages and Systems (TOPLAS)
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Rules and strategies for transforming functional and logic programs
ACM Computing Surveys (CSUR)
A modal analysis of staged computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An introduction to partial evaluation
ACM Computing Surveys (CSUR)
Implementing bit-addressing with specialization
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
An Automatic Program Generator for Multi-Level Specialization
Lisp and Symbolic Computation
Run-time code generation and modal-ML
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Initial Results for Glacial Variable Analysis
International Journal of Parallel Programming
Syntactic accidents in program analysis: on the impact of the CPS transformation
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
A modal analysis of staged computation
Journal of the ACM (JACM)
An Introduction to Online and Offline Partial Evaluation using a Simple Flowchart Language
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
A Higher-Order Colon Translation
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
Towards Provably-Correct Hardware Compilation Tools Based on Pass Separation Techniques
CHARME '01 Proceedings of the 11th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
On extracting static semantics
The essence of computation
Syntactic accidents in program analysis: on the impact of the CPS transformation
Journal of Functional Programming
A new one-pass transformation into monadic normal form
CC'03 Proceedings of the 12th international conference on Compiler construction
Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
ICLP'05 Proceedings of the 21st international conference on Logic Programming
LAIMA: a multi-agent platform using ordered choice logic programming
DALT'05 Proceedings of the Third international conference on Declarative Agent Languages and Technologies
Efficient high-level abstractions for web programming
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Hi-index | 0.00 |
Computations can generally be separated into stages, which are distinguished from one another by either frequency of execution or availability of data. Precomputation and frequency reduction involve moving computation among a collection of stages so that work is done as early as possible (so less time is required in later steps) and as infrequently as possible (to reduce overall time).We present, by means of examples, several general transformation techniques for carrying out precomputation transformations. We illustrate the techniques by deriving fragments of simple compilers from interpreters, including an example of Prolog compilation, but the techniques are applicable in a broad range of circumstances. Our aim is to demonstrate how perspicuous accounts of precomputation and frequency reduction can be given for a wide range of applications using a small number of relatively straightforward techniques.Related work in partial evaluation, semantically directed compilation, and compiler optimization is discussed.