Deriving a Lazy Abstract Machine

  title={Deriving a Lazy Abstract Machine},
  author={Peter Sestoft},
  journal={J. Funct. Program.},
We derive a simple abstract machine for lazy evaluation of the lambda calculus, starting from Launchbury's natural semantics. Lazy evaluation here means non-strict evaluation with sharing of argument evaluation, that is, call-by-need. The machine we derive is a lazy version of Krivine's abstract machine, which was originally designed for call-by-name evaluation. We extend it with datatype constructors and base values, so the nal machine implements all dynamic aspects of a lazy functional… CONTINUE READING
Highly Influential
This paper has highly influenced 31 other papers. REVIEW HIGHLY INFLUENTIAL CITATIONS

From This Paper

Topics from this paper.


Publications citing this paper.
Showing 1-10 of 130 extracted citations


Publications referenced by this paper.
Showing 1-10 of 27 references

The -calculus: an abstract framework for environment

  • P. L. Curien
  • 1988
Highly Influential
4 Excerpts

The implementation of functional programming languages

  • S. L. Peyton Jones
  • 1987
Highly Influential
4 Excerpts

Analysis and e cient implementation of functional programs

  • P. Sestoft
  • 1991
Highly Influential
2 Excerpts

Deriving a lazy abstract machine

  • P. Sestoft
  • Tech. rept. ID-TR 1994-146
  • 1994
1 Excerpt

Similar Papers

Loading similar papers…