English

Evaluating Call-By-Need on the Control Stack

Programming Languages 2010-09-17 v1

Abstract

Ariola and Felleisen's call-by-need {\lambda}-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.

Cite

@article{arxiv.1009.3174,
  title  = {Evaluating Call-By-Need on the Control Stack},
  author = {Stephen Chang and David Van Horn and Matthias Felleisen},
  journal= {arXiv preprint arXiv:1009.3174},
  year   = {2010}
}

Comments

Symposium on Trends in Functional Programming (TFP 2010), Norman, Oklahoma, May 2010

R2 v1 2026-06-21T16:14:49.028Z