Skip to main content

Implementation of term rewritings with the evaluation strategy

  • Compilation
  • Conference paper
  • First Online:
Programming Languages: Implementations, Logics, and Programs (PLILP 1997)

Part of the book series: Lecture Notes in Computer Science ((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.

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. Aït-Kaci, H.: Warren's Abstract Machine. A Tutorial Reconstruction. The MIT Press. 1991

    Google Scholar 

  2. CafeOBJ home page: http://ldl-www.jaist.ac.jp:8080/cafeobj

    Google Scholar 

  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–384

    Google Scholar 

  4. Christian, J.: Flatterms, Discrimination Nets, and Fast Term Rewriting. J. Automated Reasoning. 10 (1993) 95–113

    Google Scholar 

  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–320

    Google Scholar 

  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–45

    Google Scholar 

  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–66

    Google Scholar 

  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–93

    Google Scholar 

  9. Goguen, J. A., Winkler, T., Meseguer, J., Futatsugi, K. and Jouannaud, J. P. Introducing OBJ. Technical Report SRI-CSL-92-03. SRI International. 1992

    Google Scholar 

  10. Hoffmann, C. M. and O'Donnell M. J.: Programming with Equations. ACM Trans. Prog. Lang. Syst. 4 1 (1982) 83–112

    Google Scholar 

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

    Google Scholar 

  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–162

    Google Scholar 

  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–41

    Google Scholar 

  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–301

    Google Scholar 

  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–116

    Google Scholar 

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

    Google Scholar 

  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. 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. Peyton Jones, S. L.: Implementing Lazy Functional Languages on Stock Hardware: The Spinless Tagless G-machine. J. Functional Programming. 2 (2) (1992) 127–202

    Google Scholar 

  20. Plasmeijer, R. and van Eekelen, M.: Functional Programming and Parallel Graph Rewriting. Addison-Wesley. 1993

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hugh Glaser Pieter Hartel Herbert Kuchen

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ogata, K., Futatsugi, K. (1997). Implementation of term rewritings with the evaluation strategy. In: Glaser, H., Hartel, P., Kuchen, H. (eds) Programming Languages: Implementations, Logics, and Programs. PLILP 1997. Lecture Notes in Computer Science, vol 1292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0033847

Download citation

  • DOI: https://doi.org/10.1007/BFb0033847

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63398-3

  • Online ISBN: 978-3-540-69537-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics