Skip to main content
Log in

Higher-level supercompilation as a metasystem transition

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

Issues related to metasystem transitions in the context of supercompilation are discussed. Manifestations of the law of branching growth of the penultimate level in the case of higher-level supercompilation are considered. Based on this law, some approaches to the construction of metasystems by combining supercompilers are proposed. In particular, the usefulness of multi-result supercompilation for proving the equivalence of expressions and for two-level supercompilation is shown.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Turchin, V.F., The Language Refal: The Theory of Compilation and Metasystem Analysis, New York: New York Univ., Department of Computer Sci., Courant Inst. of Math. Sci., 1980.

    Google Scholar 

  2. Turchin, V.F., The Concept of a Supercompiler, ACM Trans. Program. Lang. Syst., 1986, vol. 8, no. 3, pp. 292–325.

    Article  MathSciNet  MATH  Google Scholar 

  3. Turchin, V., Metacomputation: Metasystem Transitions plus Supercompilation Partial Evaluation, Lect. Notes Comput. Sci., 1996, vol. 1110, pp. 481–509.

    Article  Google Scholar 

  4. Turchin, V.F., The Phenomenon of Science: A Cybernetic Approach to Human Evolution, New York: Columbia Univ. Press, 1977.

    Google Scholar 

  5. Turchin, V., Program Transformation with Meta-System Transitions, J. Funct. Program., 1993, vol. 3, no. 3, pp. 283–313.

    Article  MathSciNet  Google Scholar 

  6. Turchin, V.F., A Supercompiler System Based on the Language REFAL, SIGPLAN Not., 1979, vol. 14, no. 2, pp. 46–54.

    Article  Google Scholar 

  7. Turchin, V.F., Nirenberg, R.M., and Turchin, D.V., Experiments with a Supercompiler, LFP’82: Proc. 1982 ACM Symp. on LISP and Functional Programming, New York, NY, USA: ACM, 1982, pp. 47–55.

    Chapter  Google Scholar 

  8. Nemytykh, A.P. and Pinchuk, V.A., Program Transformation with Metasystem Transitions: Experiments with a Supercompiler, Lect. Notes Comput. Sci., 1996, pp. 249–260.

  9. Sørensen, M.H., Turchin’s Supercompiler Revisited: An Operational Theory of Positive Information Propagation, Master’s Thesis, Copenhagen: Dept. of Computer Science, Univ. of Copenhagen, 1994.

    Google Scholar 

  10. Sørensen, M.H., Glück, R., and Jones, N.D., A Positive Supercompiler, J. Funct. Program., 1996, vol. 6, no. 6, pp. 811–838.

    Article  Google Scholar 

  11. Jones, N.D., The Essence of Program Transformation by Partial Evaluation and Driving, PSI’99, Lect. Notes Comput. Sci., 2000, vol. 1755, pp. 62–79.

    Article  Google Scholar 

  12. Klimov, A., An Approach to Supercompilation for Object-Oriented Languages: the Java Supercompiler Case Study, First International Workshop on Metacomputation in Russia, 2008.

  13. Hamilton, G.W., Distillation: Extracting the Essence of Programs, Proc. of the 2007 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, New York, NY, USA: ACM, 2007, pp. 61–70.

    Chapter  Google Scholar 

  14. Hamilton, G.W., A Graph-Based Definition of Distillation, Second International Workshop on Metacomputation in Russia, 2010.

  15. Klyuchnikov, I. and Romanenko, S., Towards HigherLevel Supercompilation, Second International Workshop on Metacomputation in Russia, 2010.

  16. Klyuchnikov, I., Towards Effective Two-Level Supercompilation, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2010, no. 81.

  17. Klyuchnikov, I. and Romanenko, S., Multi-Result Supercompilation as Branching Growth of the Penultimate Level in Metasystem Transitions, PSI 2011, 2011.

  18. Klimov, A., Multi-Result Supercompilation in Action: Solving Coverability Problem for Monotonic Counter Systems by Gradual Specialization, International Workshop on Program Understanding (PU 2011), 2011.

  19. Lisitsa, A. and Nemytykh, A., Verification as a Parameterized Testing (Experiments with the SCP4 Supercompiler), Program. Computer Software, 2007, vol. 33, no. 1, pp. 14–23.

    Article  MATH  Google Scholar 

  20. Klyuchnikov, I. and Romanenko, S., Proving the Equivalence of Higher-Order Terms by Means of Supercompilation. Perspectives of Systems Informatics, Lect. Notes Comput. Sci., 2010, vol. 5947, pp. 193–205.

    Article  Google Scholar 

  21. Klimov, A., Solving Coverability Problem for Monotonic Counter Systems by Supercompilation, PSI 11, 2011.

  22. Klyuchnikov, I., Supercompiler HOSC 1.5: Homeomorphic Embedding and Generalization in a Higher-Order Setting, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2010, no. 62.

  23. Nemytykh, A.P., Pinchuk, V.A., and Turchin, V.F., A Self-Applicable Supercompiler Selected Papers from the Internaltional Seminar on Partial Evaluation, Lect. Notes Comput. Sci., 1996, vol. 1110, pp. 322–337.

    Article  Google Scholar 

  24. Futamura, Y., Partial Evaluation of Computation Process — An Approach to a Compiler-Compiler Syst. Comput. Controls, 1971, vol. 2, no. 5, pp. 45–50.

    Google Scholar 

  25. Glück, R., Is There a Fourth Futamura Projection?, Proc. of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation PEPM’09, New York, NY, USA: ACM, 2009, pp. 51–60. http://doi.acm.org/10.1145/1480945.1480954.

    Google Scholar 

  26. Lisitsa, A. and Webster, M., Supercompilation for Equivalence Testing in Metamorphic Computer Viruses Detection Proc. of the First International Workshop on Metacomputation in Russia, 2008.

  27. Hamilton, G.W. and Kabir, M.H., Constructing Programs from Metasystem Transition Proofs, Proc. of the First International Workshop on Metacomputation in Russia, 2008.

  28. Klyuchnikov, I. and Romanenko, S., SPSC: a Simple Supercompiler in Scala PU’09 (International Workshop on Program Understanding), 2009.

  29. Klyuchnikov, I., Supercompiler HOSC 1.0: under the Hood, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2009, no. 63.

  30. Mitchell, N. and Runciman, C., A Supercompiler for Core Haskell, Implementation and Application of Functional Languages, Lect. Notes Comput. Sci., 2008, vol. 5083, pp. 147–164.

    Article  Google Scholar 

  31. Mitchell, N., Rethinking Supercompilation ICFP 2010, 2010.

  32. Bolingbroke, M. and Peyton Jones S.L., Supercompilation by Evaluation, Haskell 2010 Symposium, 2010.

  33. Jonsson, P. and Nordlander, J., Taming Code Explosion in Supercompilation, PEPM’11, 2011.

  34. Kleene, S., Mathematical Logic, Dover Books on Mathematics, New York: Dover, 2002.

    MATH  Google Scholar 

  35. Sorensen, M.H., Convergence of Program Transformers in the Metric Space of Trees, Mathematics of Program Construction, Lect. Notes Comput. Sci., 1998, vol. 1422, pp. 315–337.

    Article  MathSciNet  Google Scholar 

  36. Klyuchnikov, I., MRSC: a Framework for Multiresult Supercompilation, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2011.

  37. Bolingbroke, M. and Peyton Jones, S.L., Improving Supercompilation: Tag-Bags, Rollback, Speculation, Normalisation, and Generalisation, ICFP 2011, 2011.

  38. Jonsson, P., Positive Supercompilation for a Higher-Order Call-by-Value Language, Lulea Univ. of Technology, 2008.

  39. Bobrow, D.G. and Wegbreit, B., A Model and Stack Implementation of Multiple Environments, Commun. ACM, 1973, vol. 16, pp. 591–603.

    Article  Google Scholar 

  40. Klimov, A., A Program Specialization Relation Based on Supercompilation and its Properties, Proc. of the First International Workshop on Metacomputation in Russia, Ailamazyan Univ. of Pereslavl, 2008, pp. 54–78.

  41. Klyuchnikov, I., Supercompiler HOSC: Proof of Correctness, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2010, no. 31.

  42. Tate, R., Stepp, M., Tat-Lock, Z., and Lerner, S., Equality Saturation: a New Approach to Optimization, SIGPLAN Not, 2009, January, vol. 44, pp. 264–276. http://doi.acm.org/10.1145/1594834.1480915.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to I. G. Klyuchnikov.

Additional information

Original Russian Text © I.G. Klyuchnikov, S.A. Romanenko, 2012, published in Programmirovanie, 2012, Vol. 38, No. 5.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Klyuchnikov, I.G., Romanenko, S.A. Higher-level supercompilation as a metasystem transition. Program Comput Soft 38, 231–244 (2012). https://doi.org/10.1134/S0361768812050027

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768812050027

Keywords

Navigation