Lazy Rewriting and Eager Machinery

We define Lazy Term Rewriting Systems and show that they can be realized by local adaptations of an eager implementation of conventional term rewriting systems. The overhead of lazy evaluation is only incurred when lazy evaluation is actually performed.

[1]  Simon L. Peyton Jones,et al.  The spineless tagless G-machine , 1989, FPCA.

[2]  Marko C. J. D. van Eekelen,et al.  Functional Programming and Parallel Graph Rewriting , 1993 .

[3]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[4]  Jon Fairbairn,et al.  TIM: A simple, lazy abstract machine to execute supercombinatorics , 1987, FPCA.

[5]  Thierry Heuillard Compiling Conditional Rewriting Systems , 1987, CTRS.

[6]  Geoffrey L. Burn,et al.  Lazy functional languages - abstract interpretation and compilation , 1991, Research monographs in parallel and distributed computing.

[7]  Rachid Echahed,et al.  Abstract Rewriting , 1993, WSA.

[8]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[9]  Gordon D. Plotkin,et al.  Call-by-Name, Call-by-Value and the lambda-Calculus , 1975, Theor. Comput. Sci..

[10]  Marko C. J. D. van Eekelen,et al.  Term Graph Rewriting , 1987, PARLE.

[11]  Peter Lee,et al.  Call-by-need and continuation-passing style , 1994, LISP Symb. Comput..

[12]  Corrado Moiso,et al.  An Algorithm for Unification in Equational Theories , 1986, SLP.

[13]  Jan Willem Klop,et al.  On the adequacy of graph rewriting for simulating term rewriting , 1994, TOPL.

[14]  Gérard Huet,et al.  The CAML primer , 1990 .

[15]  Peter Zilahy Ingerman,et al.  Thunks: a way of compiling procedure statements with some comments on procedure declarations , 1961, CACM.

[16]  Torben Amtoft Minimal Thunkification , 1993, WSA.

[17]  Michael J. O'Donnell,et al.  Computing in systems described by equations , 1977, Lecture Notes in Computer Science.

[18]  Henry G. Baker,et al.  CONS should not CONS its arguments, part II: Cheney on the M.T.A. , 1995, SIGP.

[19]  John Field,et al.  On laziness and optimality in lambda interpreters: tools for specification and analysis , 1989, POPL '90.

[20]  Peter Lee,et al.  No assembly required: compiling standard ML to C , 1992, LOPL.

[21]  Alan Mycroft,et al.  The Theory and Practice of Transforming Call-by-need into Call-by-value , 1980, Symposium on Programming.

[22]  Nick Benton,et al.  Strictness Properties of Lazy Algebraic Datatypes , 1993, WSA.