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: | 31 - 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...







