The concept of a supercompiler
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Arity raiser and use in program specialization
Proceedings of the third European symposium on programming on ESOP '90
A self-applicable partial evaluator for the lambda calculus: correctness and pragmatics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Occam's Razor in Metacompuation: the Notion of a Perfect Process Tree
WSA '93 Proceedings of the Third International Workshop on Static Analysis
Hi-index | 0.00 |
A specification of a class of specializers for a tiny functional language in form of natural semantics inference rules is presented. The specification defines a relation between source and residual programs with respect to an initial configuration (a set of input data). The specification expresses the idea of what is to be a specialized program, avoiding where possible the details of how a specializer builds it. In particular, it abstracts from the difference between on-line and off-line specialization. The class of specializers specified here is limited to monogenetic specializers, which includes specializers based upon partial evaluation as well as restricted supercompilation. The specification captures such supercompilation notions as configuration, driving, generalization of a configuration, and a simple case of splitting a configuration. The proposed specification is an intensional definition of equivalence between source and residual programs. It provides a shorter cut for proving the correctness and other properties of specializers than usual reduction to the extensional equivalence of programs does.