PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Static and dynamic semantics processing
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiling inheritance using partial evaluation
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Tutorial notes on partial evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiling actions by partial evaluation
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Semantics-directed generation of a Prolog compiler
Science of Computer Programming
Polyvariant constructor specialisation
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Type specialisation for imperative languages
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
The Definition of Standard ML
Tagless staged interpreters for typed languages
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Definitional Interpreters for Higher-Order Programming Languages
Higher-Order and Symbolic Computation
Partial Evaluation of Computation Process, Revisited
Higher-Order and Symbolic Computation
Partial Evaluation of Computation Process—AnApproach to a Compiler-Compiler
Higher-Order and Symbolic Computation
A Simple Solution to Type Specialization
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
Hand-Writing Program Generator Generators
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
Selected Papers from the Internaltional Seminar on Partial Evaluation
Combinators for program generation
Journal of Functional Programming
Jones optimality and hardware virtualization: a report on work in progress
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
An investigation of Jones optimality and BTI-universal specializers
Higher-Order and Symbolic Computation
Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages
Journal of Functional Programming
Finally tagless, partially evaluated: tagless staged interpreters for simpler typed languages
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Typed self-interpretation by pattern matching
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
On jones-optimal specializers: a case study using unmix
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Hi-index | 0.00 |
A partial evaluator is said to be Jones-optimal if the result of specializing a self-interpreter with respect to a source program is textually identical to the source program, modulo renaming. Jones optimality has already been obtained if the self-interpreter is untyped. If the selfinterpreter is typed, however, residual programs are cluttered with type tags. To obtain the original source program, these tags must be removed. A number of sophisticated solutions have already been proposed. We observe, however, that with a simple representation shift, ordinary partial evaluation is already Jones-optimal, modulo an encoding. The representation shift amounts to reading the type tags as constructors for higherorder abstract syntax. We substantiate our observation by considering a typed self-interpreter whose input syntax is higher-order. Specializing this interpreter with respect to a source program yields a residual program that is textually identical to the source program, modulo renaming.