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.
Similar content being viewed by others
References
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.
Turchin, V.F., The Concept of a Supercompiler, ACM Trans. Program. Lang. Syst., 1986, vol. 8, no. 3, pp. 292–325.
Turchin, V., Metacomputation: Metasystem Transitions plus Supercompilation Partial Evaluation, Lect. Notes Comput. Sci., 1996, vol. 1110, pp. 481–509.
Turchin, V.F., The Phenomenon of Science: A Cybernetic Approach to Human Evolution, New York: Columbia Univ. Press, 1977.
Turchin, V., Program Transformation with Meta-System Transitions, J. Funct. Program., 1993, vol. 3, no. 3, pp. 283–313.
Turchin, V.F., A Supercompiler System Based on the Language REFAL, SIGPLAN Not., 1979, vol. 14, no. 2, pp. 46–54.
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.
Nemytykh, A.P. and Pinchuk, V.A., Program Transformation with Metasystem Transitions: Experiments with a Supercompiler, Lect. Notes Comput. Sci., 1996, pp. 249–260.
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.
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.
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.
Klimov, A., An Approach to Supercompilation for Object-Oriented Languages: the Java Supercompiler Case Study, First International Workshop on Metacomputation in Russia, 2008.
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.
Hamilton, G.W., A Graph-Based Definition of Distillation, Second International Workshop on Metacomputation in Russia, 2010.
Klyuchnikov, I. and Romanenko, S., Towards HigherLevel Supercompilation, Second International Workshop on Metacomputation in Russia, 2010.
Klyuchnikov, I., Towards Effective Two-Level Supercompilation, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2010, no. 81.
Klyuchnikov, I. and Romanenko, S., Multi-Result Supercompilation as Branching Growth of the Penultimate Level in Metasystem Transitions, PSI 2011, 2011.
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.
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.
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.
Klimov, A., Solving Coverability Problem for Monotonic Counter Systems by Supercompilation, PSI 11, 2011.
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.
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.
Futamura, Y., Partial Evaluation of Computation Process — An Approach to a Compiler-Compiler Syst. Comput. Controls, 1971, vol. 2, no. 5, pp. 45–50.
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.
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.
Hamilton, G.W. and Kabir, M.H., Constructing Programs from Metasystem Transition Proofs, Proc. of the First International Workshop on Metacomputation in Russia, 2008.
Klyuchnikov, I. and Romanenko, S., SPSC: a Simple Supercompiler in Scala PU’09 (International Workshop on Program Understanding), 2009.
Klyuchnikov, I., Supercompiler HOSC 1.0: under the Hood, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2009, no. 63.
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.
Mitchell, N., Rethinking Supercompilation ICFP 2010, 2010.
Bolingbroke, M. and Peyton Jones S.L., Supercompilation by Evaluation, Haskell 2010 Symposium, 2010.
Jonsson, P. and Nordlander, J., Taming Code Explosion in Supercompilation, PEPM’11, 2011.
Kleene, S., Mathematical Logic, Dover Books on Mathematics, New York: Dover, 2002.
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.
Klyuchnikov, I., MRSC: a Framework for Multiresult Supercompilation, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2011.
Bolingbroke, M. and Peyton Jones, S.L., Improving Supercompilation: Tag-Bags, Rollback, Speculation, Normalisation, and Generalisation, ICFP 2011, 2011.
Jonsson, P., Positive Supercompilation for a Higher-Order Call-by-Value Language, Lulea Univ. of Technology, 2008.
Bobrow, D.G. and Wegbreit, B., A Model and Stack Implementation of Multiple Environments, Commun. ACM, 1973, vol. 16, pp. 591–603.
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.
Klyuchnikov, I., Supercompiler HOSC: Proof of Correctness, Preprint of Keldysh Inst. of Applied Mathematics, Russ. Acad. Sci., Moscow, 2010, no. 31.
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.
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © I.G. Klyuchnikov, S.A. Romanenko, 2012, published in Programmirovanie, 2012, Vol. 38, No. 5.
Rights 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
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768812050027