Skip to main content

Occam's razor in metacomputation: the notion of a perfect process tree

  • Conference paper
  • First Online:
Static Analysis (WSA 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 724))

Included in the following conference series:

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  5. Consel C., Danvy O., Partial evaluation of pattern matching in strings. In: Information Processing Letters, 30(2): 79–86, 1989.

    Google Scholar 

  6. Futamura Y., Nogi K., Takano A., Essence of generalized partial computation. In: Theoretical Computer Science, 90(1): 61–79, 1991.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  15. Knuth D. E., Morris J. H., Pratt V. R., Fast pattern matching in strings. In: SIAM Journal of Computation, 6(2): 323–350, 1977.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  21. Turchin V. F., Equivalent transformations of Refal programs. In: Avtomatizirovannaja Sistema upravlenija stroitel'stvom. Trudy CNIPIASS, 6: 36–68, 1974 (in Russian).

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  24. Turchin V. F., The concept of a supercompiler. In: ACM TOPLAS, 8(3): 292–325, 1986.

    Google Scholar 

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

    Google Scholar 

  26. Turchin V. F., Program transformation with metasystem transitions. In: Journal of Functional Programming, 1993 (to appear).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Robert Glück .

Editor information

Patrick Cousot Moreno Falaschi Gilberto Filé Antoine Rauzy

Rights and permissions

Reprints 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

Publish with us

Policies and ethics