## Improvement in a Lazy Context: An Operational Theory for Call-By-Need (1999)

### Cached

### Download Links

- [www.cse.ogi.edu]
- [www.cse.ogi.edu]
- [www.cse.ogi.edu]
- [www.cse.ogi.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | Proc. POPL'99, ACM |

Citations: | 38 - 7 self |

### BibTeX

@INPROCEEDINGS{Moran99improvementin,

author = {Andrew Moran and David Sands},

title = {Improvement in a Lazy Context: An Operational Theory for Call-By-Need},

booktitle = {Proc. POPL'99, ACM},

year = {1999},

pages = {43--56},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

Machine The semantics presented in this section is essentially Sestoft's \mark 1" abstract machine for laziness [Sestoft 1997]. In that paper, he proves his abstract machine 6 A. K. Moran and D. Sands h fx = Mg; x; S i ! h ; M; #x : S i (Lookup) h ; V; #x : S i ! h fx = V g; V; S i (Update) h ; M x; S i ! h ; M; x : S i (Unwind) h ; x:M; y : S i ! h ; M [ y = x ]; S i (Subst) h ; case M of alts ; S i ! h ; M; alts : S i (Case) h ; c j ~y; fc i ~x i N i g : S i ! h ; N j [ ~y = ~x j ]; S i (Branch) h ; let f~x = ~ Mg in N; S i ! h f~x = ~ Mg; N; S i ~x dom(;S) (Letrec) Fig. 1. The abstract machine semantics for call-by-need. semantics sound and complete with respect to Launchbury's natural semantics, and we will not repeat those proofs here. Transitions are over congurations consisting of a heap, containing bindings, the expression currently being evaluated, and a stack. The heap is a partial function from variables to terms, and denoted in an identical manner to a coll...