Electronic Proceedings in Theoretical Computer Science (Jun 2016)

First Class Call Stacks: Exploring Head Reduction

  • Philip Johnson-Freyd,
  • Paul Downen,
  • Zena M. Ariola

DOI
https://doi.org/10.4204/EPTCS.212.2
Journal volume & issue
Vol. 212, no. Proc. WoC 2015
pp. 18 – 35

Abstract

Read online

Weak-head normalization is inconsistent with functional extensionality in the call-by-name λ-calculus. We explore this problem from a new angle via the conflict between extensionality and effects. Leveraging ideas from work on the λ-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.