<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<item>
  <id>01067873</id>
  <dt>j</dt>
  <an>01067873</an>
  <augroup>
    <au>Sestoft, Peter</au>
  </augroup>
  <ti>Deriving a lazy abstract machine.</ti>
  <so>J. Funct. Program. 7, No.3, 231-264 (1997).</so>
  <py>1997</py>
  <pu>Cambridge University Press, Cambridge</pu>
  <lagroup>
    <la>EN</la>
  </lagroup>
  <ccgroup>
  </ccgroup>
  <utgroup>
    <ut>lambda calculus</ut>
    <ut>lazy functional language</ut>
  </utgroup>
  <cigroup>
  </cigroup>
  <ligroup>
    <li>doi:10.1017/S0956796897002712</li>
  </ligroup>
  <abgroup>
    <ab>Summary: 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, i.e. 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 final machine implements all dynamic aspects of a lazy functional language.</ab>
    <rv></rv>
  </abgroup>
</item>