Multi-result Supercompilation as Branching Growth of the Penultimate Level in Metasystem Transitions

  • Ilya Klyuchnikov
  • Sergei A. Romanenko
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7162)

Abstract

The paper deals with some aspects of metasystem transitions in the context of supercompilation. We consider the manifestations of the law of branching growth of the penultimate level in the case of higher-level supercompilation and argue that this law provides some useful hints regarding the ways of constructing metasystems by combining supercompilers. In particular we show the usefulness of multi-result supercompilation for proving the equivalence of expressions and in two-level supercompilation.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bolingbroke, M., Peyton Jones, S.L.: Improving supercompilation: tag-bags, rollback, speculation, normalisation, and generalisation (2011) (Submitted to ICFP 2011)Google Scholar
  2. 2.
    Futamura, Y.: Partial evaluation of computation process – an approach to a compiler-compiler. Systems, Computers, Controls 2(5), 45–50 (1971)Google Scholar
  3. 3.
    Glück, R.: Is there a fourth Futamura projection? In: Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2009, pp. 51–60. ACM, New York (2009)Google Scholar
  4. 4.
    Hamilton, G.W.: Distillation: extracting the essence of programs. In: Proceedings of the 2007 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 61–70. ACM Press, New York (2007)CrossRefGoogle Scholar
  5. 5.
    Hamilton, G.W.: A graph-based definition of distillation. In: Second International Workshop on Metacomputation in Russia (2010)Google Scholar
  6. 6.
    Hamilton, G.W., Kabir, M.H.: Constructing programs from metasystem transition proofs. In: Proceedings of the First International Workshop on Metacomputation in Russia (2008)Google Scholar
  7. 7.
    Jonsson, P.A.: Positive supercompilation for a higher-order call-by-value language. Luleå University of Technology (2008)Google Scholar
  8. 8.
    Klimov, A.V.: A program specialization relation based on supercompilation and its properties. In: Proceedings of the First International Workshop on Metacomputation in Russia, pp. 54–78. Ailamazyan University of Pereslavl (2008)Google Scholar
  9. 9.
    Klyuchnikov, I.: Supercompiler HOSC 1.0: under the hood. Preprint 63, Keldysh Institute of Applied Mathematics, Moscow (2009)Google Scholar
  10. 10.
    Klyuchnikov, I.: Supercompiler HOSC 1.5: homeomorphic embedding and generalization in a higher-order setting. Preprint 62, Keldysh Institute of Applied Mathematics (2010)Google Scholar
  11. 11.
    Klyuchnikov, I.: Supercompiler HOSC: proof of correctness. Preprint 31, Keldysh Institute of Applied Mathematics, Moscow (2010)Google Scholar
  12. 12.
    Klyuchnikov, I.: Towards effective two-level supercompilation. Preprint 81, Keldysh Institute of Applied Mathematics (2010)Google Scholar
  13. 13.
    Klyuchnikov, I.: The ideas and methods of supercompilation. Practice of Functional Programming 7 (2011) (in Russian)Google Scholar
  14. 14.
    Klyuchnikov, I., Romanenko, S.: SPSC: a simple supercompiler in Scala. In: PU 2009 (International Workshop on Program Understanding) (2009)Google Scholar
  15. 15.
    Klyuchnikov, I., Romanenko, S.: Proving the Equivalence of Higher-Order Terms by Means of Supercompilation. In: Pnueli, A., Virbitskaite, I., Voronkov, A. (eds.) PSI 2009. LNCS, vol. 5947, pp. 193–205. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  16. 16.
    Klyuchnikov, I., Romanenko, S.: Towards higher-level supercompilation. In: Second International Workshop on Metacomputation in Russia (2010)Google Scholar
  17. 17.
    Lisitsa, A.P., Webster, M.: Supercompilation for equivalence testing in metamorphic computer viruses detection. In: Proceedings of the First International Workshop on Metacomputation in Russia (2008)Google Scholar
  18. 18.
    Mitchell, N.: Rethinking supercompilation. In: ICFP 2010 (2010)Google Scholar
  19. 19.
    Mitchell, N., Runciman, C.: A Supercompiler for Core Haskell. In: Chitil, O., Horváth, Z., Zsók, V. (eds.) IFL 2007. LNCS, vol. 5083, pp. 147–164. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  20. 20.
    Nemytykh, A.P., Pinchuk, V.A., Turchin, V.F.: A Self-Applicable Supercompiler. In: Danvy, O., Thiemann, P., Glück, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol. 1110, pp. 322–337. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  21. 21.
    Sands, D.: Total correctness by local improvement in the transformation of functional programs. ACM Trans. Program. Lang. Syst. 18(2), 175–234 (1996)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Sørensen, M.H., Glück, R., Jones, N.D.: A positive supercompiler. Journal of Functional Programming 6(6), 811–838 (1993)CrossRefGoogle Scholar
  23. 23.
    Sørensen, M.H.: Turchin’s supercompiler revisited: an operational theory of positive information propagation. Master’s thesis, Københavns Universitet, Datalogisk Institute (1994)Google Scholar
  24. 24.
    Tate, R., Stepp, M., Tatlock, Z., Lerner, S.: Equality saturation: a new approach to optimization. SIGPLAN Not. 44, 264–276 (2009)CrossRefGoogle Scholar
  25. 25.
    Turchin, V.F.: The phenomenon of science. A cybernetic approach to human evolution. Columbia University Press, New York (1977)Google Scholar
  26. 26.
    Turchin, V.: The Language Refal: The Theory of Compilation and Metasystem Analysis. Department of Computer Science, Courant Institute of Mathematical Sciences, New York University (1980)Google Scholar
  27. 27.
    Turchin, V.F.: The concept of a supercompiler. ACM Transactions on Programming Languages and Systems (TOPLAS) 8(3), 292–325 (1986)MathSciNetMATHCrossRefGoogle Scholar
  28. 28.
    Turchin, V.F.: Program transformation with metasystem transitions. Journal of Functional Programming 3(03), 283–313 (1993)CrossRefGoogle Scholar
  29. 29.
    Turchin, V.: Metacomputation: Metasystem Transitions Plus Supercompilation. In: Danvy, O., Thiemann, P., Glück, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol. 1110, pp. 481–509. Springer, Heidelberg (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Ilya Klyuchnikov
    • 1
  • Sergei A. Romanenko
    • 1
  1. 1.Keldysh Institute of Applied MathematicsRussian Academy of SciencesRussia

Personalised recommendations