Abstract
We introduce the notion of a perfect process tree as a model for the full propagation of information in metacomputation. Starting with constant propagation we construct step-by-step the driving mechanism used in supercompilation which ensures the perfect propagation of information. The concept of a simple supercompiler based on perfect driving coupled with a simple folding strategy is explained. As an example we demonstrate that specializing a naive pattern matcher with respect to a fixed pattern obtains the efficiency of a matcher generated by the Knuth, Morris & Pratt algorithm.
Supported by the Austrian Science Foundation (FWF) under grant number J0780-PHY.
Supported by the Russian Foundation for Fundamental Research under grant number 93-12-628 and in part by the ‘österreichische Forschungsgemeinschaft’ under grant number 06/1789.
Preview
Unable to display preview. Download preview PDF.
References
Abramov S. M., Metacomputation and program testing. In: 1st International Workshop on Automated and Algorithmic Debugging. (Linköping, Sweden). 121–135, Linköping University 1993.
Bondorf A., A self-applicable partial evaluator for term rewriting systems. In: Díaz J., Orejas F. (ed.), TAPSOFT '89. (Barcelona, Spain). Lecture Notes in Computer Science, Vol. 352, 81–95, Springer-Verlag 1989.
Bondorf A., Danvy O., Automatic autoprojection of recursive equations with global variables and abstract data types. In: Science of Computer Programming, 16(2): 151–195, 1991.
Consel C., Binding time analysis for higher order untyped functional languages. In: Proceedings of the 1990 ACM Conference on Lisp and Functional Programming. (Nice, France). 264–272, ACM Press 1990.
Consel C., Danvy O., Partial evaluation of pattern matching in strings. In: Information Processing Letters, 30(2): 79–86, 1989.
Futamura Y., Nogi K., Takano A., Essence of generalized partial computation. In: Theoretical Computer Science, 90(1): 61–79, 1991.
Glück R., Towards multiple self-application. In: Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation. (New Haven, Connecticut). 309–320, ACM Press 1991.
Glück R., Projections for knowledge based systems. In: Trappl R. (ed.), Cybernetics and Systems Research '92. Vol. 1, 535–542, World Scientific: Singapore 1992.
Glück R., Turchin V. F., Application of metasystem transition to function inversion and transformation. In: Proceedings of the ISSAC '90 (Tokyo, Japan). 286–287, ACM Press 1990.
Jones N. D., Automatic program specialization: a re-examination from basic principles. In: BjØrner D., Ershov A. P., Jones N. D. (ed.), Partial Evaluation and Mixed Computation. (Gammel AvernÆs, Denmark). 225–282, North-Holland 1988.
Jones N. D., Gomard C. K., Sestoft P., Partial Evaluation and Automatic Program Generation. Prentice Hall International Series in Computer Science. Prentice Hall: New York, London, Toronto 1993.
Jones N. D., Sestoft P., SØndergaard H., Mix: a self-applicable partial evaluator for experiments in compiler generation. In: Lisp and Symbolic Computation, 2(1): 9–50, 1989.
Klimov And. V. Klimov, Dynamic specialization in extended functional language with monotone objects. In: Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation (Yale University, Connecticut). 199–210, ACM Press 1991.
Klimov And. V. Klimov, Romanenko S. A., A metaevaluator for the language Refal. Basic concepts and examples. Keldysh Institute of Applied Mathematics, Academy of Sciences of the USSR, Moscow. Preprint No. 71, 1987 (in Russian).
Knuth D. E., Morris J. H., Pratt V. R., Fast pattern matching in strings. In: SIAM Journal of Computation, 6(2): 323–350, 1977.
Mogensen T. Æ., Partially static structures in a self-applicable partial evaluator. In: BjØrner D., Ershov A. P., Jones N. D. (ed.), Partial Evaluation and Mixed Computation. (Gammel AvernÆs, Denmark). 325–347, North-Holland 1988.
Romanenko A. Yu., Inversion and metacomputation. In: Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation (Yale University, Connecticut). 12–22, ACM Press 1991.
Romanenko S. A., Driving for Refal-4 programs. Keldysh Institute of Applied Mathematics, Academy of Sciences of the USSR, Moscow. Preprint No. 211, 1987 (in Russian).
Takano A., Generalized partial computation using disunification to solve constraints. In: Rusinowitch M., Rémy J. L. (ed.), Conditional Term Rewriting Systems. Proceedings. (Pont-à-Mousson, France). Lecture Notes in Computer Science, Vol. 626, 424–428, Springer-Verlag 1993.
Turchin V. F., Equivalent transformations of recursive functions defined in Refal. In: Teoria Jazykov i Metody Programmirovanija (Proceedings of the Symposium on the Theory of Languages and Programming Methods). (Kiev-Alushta, USSR). 31–42, 1972 (in Russian).
Turchin V. F., Equivalent transformations of Refal programs. In: Avtomatizirovannaja Sistema upravlenija stroitel'stvom. Trudy CNIPIASS, 6: 36–68, 1974 (in Russian).
Turchin V. F., The language Refal, the theory of compilation and metasystem analysis. Courant Institute of Mathematical Sciences, New York University. Courant Computer Science Report No. 20, 1980.
Turchin V. F., Semantic definitions in Refal and automatic production of compilers. In: Jones N. D. (ed.), Semantics-Directed Compiler Generation. (Aarhus, Denmark). Lecture Notes in Computer Science, Vol. 94, 441–474, Springer-Verlag 1980.
Turchin V. F., The concept of a supercompiler. In: ACM TOPLAS, 8(3): 292–325, 1986.
Turchin V. F., The algorithm of generalization in the supercompiler. In: BjØrner D., Ershov A. P., Jones N. D. (ed.), Partial Evaluation and Mixed Computation. (Gl. AvernÆs, Denmark). 341–353, 1988.
Turchin V. F., Program transformation with metasystem transitions. In: Journal of Functional Programming, 1993 (to appear).
Author information
Authors and Affiliations
Corresponding author
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Glück, R., Klimov, A.V. (1993). Occam's razor in metacomputation: the notion of a perfect process tree. In: Cousot, P., Falaschi, M., Filé, G., Rauzy, A. (eds) Static Analysis. WSA 1993. Lecture Notes in Computer Science, vol 724. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57264-3_34
Download citation
DOI: https://doi.org/10.1007/3-540-57264-3_34
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57264-0
Online ISBN: 978-3-540-48027-3
eBook Packages: Springer Book Archive