A strongly-typed self-applicable partial evaluator
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
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
Type-directed partial evaluation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Partial Evaluation of Computation Process—AnApproach to a Compiler-Compiler
Higher-Order and Symbolic Computation
The Correctness of Type Specialisation
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Hand-Writing Program Generator Generators
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
BTA Algorithms to Ensure Termination of Off-Line Partial Evaluation
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Selected Papers from the Internaltional Seminar on Partial Evaluation
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 |
The phrase "optimal program specialization" was defined by Jones et al. in 1993 to capture the idea of a specializer being strong enough to remove entire layers of interpretation. As it has become clear that it does not imply "optimality" in the everyday meaning of the word, we propose to rename the concept "Jones-optimality". We argue that the 1993 definition of Jones-optimality is in principle impossible to fulfil for strongly typed languages due to necessary encodings on the inputs and outputs of a well-typed self-interpreter. We propose a technical correction of the definition which allows Jones-optimality to remain a meaningful concept for typed languages. We extend recent work by Hughes and by Taha and Makholm on the long-unsolved problem of Jones-optimal specialization for strongly typed languages. The methods of Taha and Makholm are enhanced to allow "almost optimal" results when a self-interpreter is specialized to a type-incorrect program; how to do this has been an open problem since 1987. Neither Hughes' nor Taha-Makholm's methods are by themselves sufficient for Jones-optimal specialization when the language contains primitive operations that produce or consume complex data types. A simple postprocess is proposed to solve the problem. An implementation of the proposed techniques has been produced and used for the first successful practical experiments with truly Jones-optimal specialization for strongly typed languages.