An experiment in partial evaluation: the generation of a compiler generator
Proc. of the first international conference on Rewriting techniques and applications
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The structure of a self-applicable partial evaluator
on Programs as data objects
Towards multiple self-application
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Automatic autoprojection of recursive equations with global variable and abstract data types
Science of Computer Programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Fortran program specialization
ACM SIGPLAN Notices
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Self-applicable online partial evaluation of the pure lambda calculus
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A Hybrid Approach to Online and Offline Partial Evaluation
Higher-Order and Symbolic Computation
Partial Evaluation of Computation Process—AnApproach to a Compiler-Compiler
Higher-Order and Symbolic Computation
New Insights into Partial Evaluation: the SCHISM Experiment
ESOP '88 Proceedings of the 2nd European Symposium on Programming
An Introduction to Online and Offline Partial Evaluation using a Simple Flowchart Language
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
Parital Computation of Programs
Proceedings of RIMS Symposium on Software Science and Engineering
A Self-Applicable Partial Evaluator for Term Rewriting Systems
TAPSOFT '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Current Issues in Programming Languages
A Roadmap to Metacomputation by Supercompilation
Selected Papers from the Internaltional Seminar on Partial Evaluation
Self-Applicable Online Partial Evaluation
Selected Papers from the Internaltional Seminar on Partial Evaluation
Transforming interpreters into inverse interpreters by partial evaluation
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Offline partial evaluation can be as accurate as online partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Imperative-program transformation by instrumented-interpreter specialization
Higher-Order and Symbolic Computation
Is there a fourth Futamura projection?
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Integrating partial evaluators into interpreters
SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
On jones-optimal specializers: a case study using unmix
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
An experiment with the fourth futamura projection
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
Bootstrapping compiler generators from partial evaluators
PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
Hi-index | 0.00 |
This paper describes a self-applicable online partial evaluator for a flowchart language with recursive calls. Self-application of the partial evaluator yields generating extensions that are as efficient as those reported in the literature for offline partial evaluation. This result is remarkable because it has been assumed that online partial evaluation techniques unavoidably lead to inefficient and overgeneralized generating extensions. The purpose of this paper is not to determine which kind of partial evaluation is better, but to show how the problem can be solved by recursive polyvariant specialization. The design of the self-applicable online partial evaluator is based on a number of known techniques, but by combining them in a new way this result can be produced. The partial evaluator, its techniques, and its implementation are presented in full. Self-application according to all three Futamura projections is demonstrated. The complete bootstrap of a compiler generator from a partial evaluator is also reported. Copyright © 2011 John Wiley & Sons, Ltd.