Specifying Monogenetic Specializers by Means of a Relation Between Source and Residual Programs

  • Andrei Klimov
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4378)


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.


specialization partial evaluation supercompilation driving specification natural semantics correctness program equivalence 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)MathSciNetzbMATHGoogle Scholar
  2. 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
  3. 3.
    Gomard, C.K.: A self-applicable partial evaluator for the lambda calculus: correctness and pragmatics. ACM TOPLAS 14(2), 147–172 (1992)CrossRefGoogle Scholar
  4. 4.
    Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice-Hall, Englewood Cliffs (1993)zbMATHGoogle Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 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. 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
  8. 8.
    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)CrossRefGoogle Scholar
  9. 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
  10. 10.
    Sørensen, M.H., Glück, R., Jones, N.D.: A positive supercompiler. Journal of Functional Programming 6(6), 811–838 (1996)CrossRefGoogle Scholar
  11. 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
  12. 12.
    Turchin, V.F.: The concept of a supercompiler. Transactions on Programming Languages and Systems 8(3), 292–325 (1986)CrossRefMathSciNetzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Andrei Klimov
    • 1
  1. 1.Keldysh Institute for Applied Mathematics, Russian Academy of Sciences, 4 Miusskaya sq., Moscow, 125047Russia

Personalised recommendations