Abstract
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.
Supported by Russian Foundation for Basic Research grant No. 06-01-00574.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Consel, C., Khoo, S.C.: On-line and off-line partial evaluation: semantic specifications and correctness proofs. Journal of Functional Programming 5(4), 461–500 (1995)
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)
Gomard, C.K.: A self-applicable partial evaluator for the lambda calculus: correctness and pragmatics. ACM TOPLAS 14(2), 147–172 (1992)
Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice-Hall, Englewood Cliffs (1993)
Kahn, G.: Natural Semantics. In: Brandenburg, F.J., Wirsing, M., Vidal-Naquet, G. (eds.) STACS 1987. LNCS, vol. 247, pp. 22–39. Springer, Heidelberg (1987)
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)
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)
Secher, J.P., Sørensen, M.H.B.: On perfect supercompilation. In: Bjorner, D., Broy, M., Zamulin, A.V. (eds.) PSI 1999. LNCS, vol. 1755, pp. 113–127. Springer, Heidelberg (2000)
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)
Sørensen, M.H., Glück, R., Jones, N.D.: A positive supercompiler. Journal of Functional Programming 6(6), 811–838 (1996)
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)
Turchin, V.F.: The concept of a supercompiler. Transactions on Programming Languages and Systems 8(3), 292–325 (1986)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Klimov, A. (2007). Specifying Monogenetic Specializers by Means of a Relation Between Source and Residual Programs. In: Virbitskaite, I., Voronkov, A. (eds) Perspectives of Systems Informatics. PSI 2006. Lecture Notes in Computer Science, vol 4378. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70881-0_22
Download citation
DOI: https://doi.org/10.1007/978-3-540-70881-0_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70880-3
Online ISBN: 978-3-540-70881-0
eBook Packages: Computer ScienceComputer Science (R0)