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.
Preview
Unable to display preview. Download preview PDF.
References
Aït-Kaci, H.: Warren's Abstract Machine. A Tutorial Reconstruction. The MIT Press. 1991
CafeOBJ home page: http://ldl-www.jaist.ac.jp:8080/cafeobj
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
Christian, J.: Flatterms, Discrimination Nets, and Fast Term Rewriting. J. Automated Reasoning. 10 (1993) 95–113
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
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
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
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
Goguen, J. A., Winkler, T., Meseguer, J., Futatsugi, K. and Jouannaud, J. P. Introducing OBJ. Technical Report SRI-CSL-92-03. SRI International. 1992
Hoffmann, C. M. and O'Donnell M. J.: Programming with Equations. ACM Trans. Prog. Lang. Syst. 4 1 (1982) 83–112
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
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
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
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
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
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
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)
Ogata, K., Kondo, M., Ioroi, S. and Futatsugi, K.: Design and Implementation of Parallel TRAM. Proc. of the Euro-Par'97. (1997) (to appear)
Peyton Jones, S. L.: Implementing Lazy Functional Languages on Stock Hardware: The Spinless Tagless G-machine. J. Functional Programming. 2 (2) (1992) 127–202
Plasmeijer, R. and van Eekelen, M.: Functional Programming and Parallel Graph Rewriting. Addison-Wesley. 1993
Author information
Authors and Affiliations
Editor information
Rights 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