English

First Class Call Stacks: Exploring Head Reduction

Programming Languages 2016-06-22 v1

Abstract

Weak-head normalization is inconsistent with functional extensionality in the call-by-name λ\lambda-calculus. We explore this problem from a new angle via the conflict between extensionality and effects. Leveraging ideas from work on the λ\lambda-calculus with control, we derive and justify alternative operational semantics and a sequence of abstract machines for performing head reduction. Head reduction avoids the problems with weak-head reduction and extensionality, while our operational semantics and associated abstract machines show us how to retain weak-head reduction's ease of implementation.

Keywords

Cite

@article{arxiv.1606.06378,
  title  = {First Class Call Stacks: Exploring Head Reduction},
  author = {Philip Johnson-Freyd and Paul Downen and Zena M. Ariola},
  journal= {arXiv preprint arXiv:1606.06378},
  year   = {2016}
}

Comments

In Proceedings WoC 2015, arXiv:1606.05839