Title
The call-by-need lambda calculus, revisited
Abstract
The existing call-by-need λ describe lazy evaluation via equational logics. A programmer can use these logics to safely ascertain whether one term is behaviorally equivalent to another or to determine the value of a lazy program. However, neither of the existing calculi models evaluation in a way that matches lazy implementations. Both calculi suffer from the same two problems. First, the calculi never discard function calls, even after they are completely resolved. Second, the calculi include re-association axioms even though these axioms are merely administrative steps with no counterpart in any implementation. In this paper, we present an alternative axiomatization of lazy evaluation using a single axiom. It eliminates both the function call retention problem and the extraneous re-association axioms. Our axiom uses a grammar of contexts to describe the exact notion of a needed computation. Like its predecessors, our new calculus satisfies consistency and standardization properties and is thus suitable for reasoning about behavioral equivalence. In addition, we establish a correspondence between our semantics and Launchbury's natural semantics.
Year
DOI
Venue
2012
10.1007/978-3-642-28869-2_7
european symposium on programming
Keywords
DocType
Volume
existing calculi models evaluation,single axiom,call-by-need lambda calculus,extraneous re-association axiom,function call retention problem,lazy program,natural semantics,re-association axiom,lazy evaluation,function call,lazy implementation,lambda calculus
Conference
abs/1201.3907
ISSN
Citations 
PageRank 
0302-9743
14
0.81
References 
Authors
17
2
Name
Order
Citations
PageRank
Stephen Chang1244.07
Matthias Felleisen23001272.57