TY - GEN
T1 - Evaluating call-by-need on the control stack
AU - Chang, Stephen
AU - Van Horn, David
AU - Felleisen, Matthias
PY - 2011
Y1 - 2011
N2 - 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.
AB - 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.
UR - https://www.scopus.com/pages/publications/80052784692
UR - https://www.scopus.com/pages/publications/80052784692#tab=citedBy
U2 - 10.1007/978-3-642-22941-1_1
DO - 10.1007/978-3-642-22941-1_1
M3 - Conference contribution
AN - SCOPUS:80052784692
SN - 9783642229404
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 1
EP - 15
BT - Trends in Functional Programming - 11th International Symposium, TFP 2010, Revised Selected Papers
T2 - 11th International Symposium on Trends in Functional Programming, TFP 2010
Y2 - 17 May 2010 through 19 May 2010
ER -