Skip to main content

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

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNISA,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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bolingbroke, M., Peyton Jones, S.L.: Improving supercompilation: tag-bags, rollback, speculation, normalisation, and generalisation (2011) (Submitted to ICFP 2011)

    Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  5. Hamilton, G.W.: A graph-based definition of distillation. In: Second International Workshop on Metacomputation in Russia (2010)

    Google Scholar 

  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. Jonsson, P.A.: Positive supercompilation for a higher-order call-by-value language. Luleå University of Technology (2008)

    Google Scholar 

  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. Klyuchnikov, I.: Supercompiler HOSC 1.0: under the hood. Preprint 63, Keldysh Institute of Applied Mathematics, Moscow (2009)

    Google Scholar 

  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. Klyuchnikov, I.: Supercompiler HOSC: proof of correctness. Preprint 31, Keldysh Institute of Applied Mathematics, Moscow (2010)

    Google Scholar 

  12. Klyuchnikov, I.: Towards effective two-level supercompilation. Preprint 81, Keldysh Institute of Applied Mathematics (2010)

    Google Scholar 

  13. Klyuchnikov, I.: The ideas and methods of supercompilation. Practice of Functional Programming 7 (2011) (in Russian)

    Google Scholar 

  14. Klyuchnikov, I., Romanenko, S.: SPSC: a simple supercompiler in Scala. In: PU 2009 (International Workshop on Program Understanding) (2009)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  16. Klyuchnikov, I., Romanenko, S.: Towards higher-level supercompilation. In: Second International Workshop on Metacomputation in Russia (2010)

    Google Scholar 

  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. Mitchell, N.: Rethinking supercompilation. In: ICFP 2010 (2010)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  21. Sands, D.: Total correctness by local improvement in the transformation of functional programs. ACM Trans. Program. Lang. Syst. 18(2), 175–234 (1996)

    Article  MathSciNet  Google Scholar 

  22. Sørensen, M.H., Glück, R., Jones, N.D.: A positive supercompiler. Journal of Functional Programming 6(6), 811–838 (1993)

    Article  Google Scholar 

  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. Tate, R., Stepp, M., Tatlock, Z., Lerner, S.: Equality saturation: a new approach to optimization. SIGPLAN Not. 44, 264–276 (2009)

    Article  Google Scholar 

  25. Turchin, V.F.: The phenomenon of science. A cybernetic approach to human evolution. Columbia University Press, New York (1977)

    Google Scholar 

  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. Turchin, V.F.: The concept of a supercompiler. ACM Transactions on Programming Languages and Systems (TOPLAS) 8(3), 292–325 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  28. Turchin, V.F.: Program transformation with metasystem transitions. Journal of Functional Programming 3(03), 283–313 (1993)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Klyuchnikov, I., Romanenko, S.A. (2012). Multi-result Supercompilation as Branching Growth of the Penultimate Level in Metasystem Transitions. In: Clarke, E., Virbitskaite, I., Voronkov, A. (eds) Perspectives of Systems Informatics. PSI 2011. Lecture Notes in Computer Science, vol 7162. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29709-0_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-29709-0_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-29708-3

  • Online ISBN: 978-3-642-29709-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics