Specifying Monogenetic Specializers by Means of a Relation Between Source and Residual Programs
- 370 Downloads
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.
Keywordsspecialization partial evaluation supercompilation driving specification natural semantics correctness program equivalence
Unable to display preview. Download preview PDF.
- 2.Glück, R., Klimov, A.V.: Occam’s razor in metacomputation: the notion of a perfect process tree. In: Cousot, P., et al. (eds.) WSA 1993. LNCS, vol. 724, pp. 112–123. Springer, Heidelberg (1993)Google Scholar
- 6.Klimov, A.V.: A specification of a class of supercompilers. In: O. Danvy, R. Glück, and P. Thiemann (eds.) Draft Proceedings of the Dagstuhl Seminar on Partial Evaluation, pp. 232. Technical Report WSI-96-6, Universität Tübingen, Germany (1996)Google Scholar
- 7.Romanenko, S.A.: Arity raiser and its use in program specialization. In: Jones, N.D. (ed.) ESOP 1990. LNCS, vol. 432, pp. 341–360. Springer, Heidelberg (1990)Google Scholar
- 9.Sørensen, M.H., Glück, R.: Introduction to supercompilation. In: Hatcliff, J., Thiemann, P. (eds.) DIKU 1998. LNCS, vol. 1706, pp. 246–270. Springer, Heidelberg (1999)Google Scholar
- 11.Turchin, V.F.: The language Refal, the theory of compilation and metasystem analysis. Courant Computer Science Report 20, Courant Institute of Mathematical Sciences, New York University (1980)Google Scholar