Sciweavers

CORR
2010
Springer

Evaluating Call-By-Need on the Control Stack

13 years 4 months ago
Evaluating Call-By-Need on the Control Stack
Abstract. Ariola and Felleisen's call-by-need -calculus replaces a variable occurrence with its value at the last possible moment. To support this gradual notion of substitution, function applications--once established--are never discharged. In this paper we show how to translate this notion of reduction into an abstract machine that resolves variable references via the control stack. In particular, the machine uses the static address of a variable occurrence to extract its current value from the dynamic control stack. 1 Implementing Call-by-need Following Plotkin [1], Ariola and Felleisen characterize the by-need -calculus as a variant of : (x.E[x]) V = (x.E[V ]) V , and prove that a machine is an algorithm that searches for a (generalized) value via the leftmost-outermost application of this new reduction [2]. Philosophically, the by-need -calculus has two implications:
Stephen Chang, David Van Horn, Matthias Felleisen
Added 09 Dec 2010
Updated 09 Dec 2010
Type Journal
Year 2010
Where CORR
Authors Stephen Chang, David Van Horn, Matthias Felleisen
Comments (0)