Advertisement

Implementation of term rewritings with the evaluation strategy

  • Kazuhiro Ogata
  • Kokichi Futatsugi
Compilation
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1292)

Abstract

The evaluation strategy (the E-strategy) is more flexible than lazy, eager or any other fixed order of evaluation because each operation can have its own local strategy. An efficient implementation of the E-strategy based on strategy lists is proposed. A strategy list for a term t is basically a sequence of all eager positions (reachable nodes) in t. The order of the strategy list corresponds to the order of the evaluation of t. The E-strategy can control parallel rewritings as well as sequential ones. The parallel extension of the E-strategy is also described.

Keywords

term rewriting systems reduction strategies the E-strategy 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aït-Kaci, H.: Warren's Abstract Machine. A Tutorial Reconstruction. The MIT Press. 1991Google Scholar
  2. 2.
    CafeOBJ home page: http://ldl-www.jaist.ac.jp:8080/cafeobjGoogle Scholar
  3. 3.
    Brus, T. H., van Eekelen, M. C. J. D., van Leer, M. O. and Plasmeijer, M. J.: Clean — A Language for Functional Graph Rewriting. Proc. of the Conference on Functional Programming Langugaes and Computer Architecture. LNCS 274 Springer-Verlag. (1987) 364–384Google Scholar
  4. 4.
    Christian, J.: Flatterms, Discrimination Nets, and Fast Term Rewriting. J. Automated Reasoning. 10 (1993) 95–113Google Scholar
  5. 5.
    Dershowitz, N. and Jouannaud, J. P.: Rewrite Systems. In Handbook of Theoretical Computer Science. B (Ed. J. van Leeuwen). Elsevier Science Publishers. (1990) 243–320Google Scholar
  6. 6.
    Fairbairn, J. and Wray, S.: Tim: A Simple, Lazy Abstract Machine to Execute Supercombinators. Proc. of the Conference on Functional Programming Langugaes and Computer Architecture. LNCS 274 Springer-Verlag. (1987) 34–45Google Scholar
  7. 7.
    Futatsugi, K., Goguen, J. A., Jouannaud, J. P. and Meseguer, J.: Principles of OBJ2. Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages. (1984) 52–66Google Scholar
  8. 8.
    Goguen, J., Kirchner, C. and Meseguer, J.: Concurrent Term Rewriting as a Model of Computation. Proc. of the Workshop on Graph Reduction. LNCS 279 Springer-Verlag. (1986) 53–93Google Scholar
  9. 9.
    Goguen, J. A., Winkler, T., Meseguer, J., Futatsugi, K. and Jouannaud, J. P. Introducing OBJ. Technical Report SRI-CSL-92-03. SRI International. 1992Google Scholar
  10. 10.
    Hoffmann, C. M. and O'Donnell M. J.: Programming with Equations. ACM Trans. Prog. Lang. Syst. 4 1 (1982) 83–112Google Scholar
  11. 11.
    Kamperman, J. F. Th. and Walters, H. R.: ARM Abstract Rewriting Machine. Tech. Rep. CS-9330. CWI. Amsterdam. Netherlands. 1993. Available as ftp://ftp.cwi.nl/pub/gipe/reports/KW93.ps.ZGoogle Scholar
  12. 12.
    Kamperman, J. F. Th. and Waiters, H. R.: Lazy Rewriting and Eager Machinery. Proc. of the International Conference on Rewriting Techniques and Applications. LNCS 914 Springer-Verlag. (1995) 147–162Google Scholar
  13. 13.
    Kaplan, S.: A Compiler for Conditional Term Rewriting Systems. Proc. of the International Conference on Rewriting Techniques and Applications. LNCS 256 Springer-Verlag. (1987) 25–41Google Scholar
  14. 14.
    Kirchner, C., Kirchner, H. and Meseguer, J.: Operational Semantics of OBJ-3. Proc. of the 15th International Colloquium on Automata, Languages and Programming. LNCS 317 Springer-Verlag. (1988) 287–301Google Scholar
  15. 15.
    Klop, J. W.: Term Rewriting Systems. In Handbook of Logic in Computer Science. 2 (Eds. S. Abramsky, Dov M. Gabbay and T. S. E. Maibaum). Oxford University Press. (1992) 1–116Google Scholar
  16. 16.
    Koopman, P. W. M., Smetsers, J. E. W., van Eekelen, M. C. J. D. and Plasmeijer, M. J.: Graph Rewriting Using the Annotated Functional Strategy. In Term Graph Rewriting: Theory and Practice (Eds. R. Sleep, R. Plasmeijer and M. van Eekelen). John Wiley & Sons Lts. 1993Google Scholar
  17. 17.
    Ogata, K., Ohhara, K. and Futatsugi, K.: TRAM: An Abstract Machine for Order-Sorted Conditional Term Rewriting Systems. Proc. of the 8th International Conference on Rewriting Techniques and Applications. (1997) (to appear)Google Scholar
  18. 18.
    Ogata, K., Kondo, M., Ioroi, S. and Futatsugi, K.: Design and Implementation of Parallel TRAM. Proc. of the Euro-Par'97. (1997) (to appear)Google Scholar
  19. 19.
    Peyton Jones, S. L.: Implementing Lazy Functional Languages on Stock Hardware: The Spinless Tagless G-machine. J. Functional Programming. 2 (2) (1992) 127–202Google Scholar
  20. 20.
    Plasmeijer, R. and van Eekelen, M.: Functional Programming and Parallel Graph Rewriting. Addison-Wesley. 1993Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Kazuhiro Ogata
    • 1
  • Kokichi Futatsugi
    • 1
  1. 1.JAISTTatsunokuchi, IshikawaJapan

Personalised recommendations