Closed reduction: explicit substitutions without $\alpha$-conversion

  • Authors:
  • M. Fernández;I. Mackie;F.-R. Sinot

  • Affiliations:
  • Department of Computer Science, King's College London Strand, London, WC2R 2LS U.K. Email: maribel@dcs.kcl.ac.uk, ian@dcs.kcl.ac.uk, francois@dcs.kcl.ac.uk;Department of Computer Science, King's College London Strand, London, WC2R 2LS U.K. Email: maribel@dcs.kcl.ac.uk, ian@dcs.kcl.ac.uk, francois@dcs.kcl.ac.uk;Department of Computer Science, King's College London Strand, London, WC2R 2LS U.K. Email: maribel@dcs.kcl.ac.uk, ian@dcs.kcl.ac.uk, francois@dcs.kcl.ac.uk and LIX, École Polytechnique, 91128 ...

  • Venue:
  • Mathematical Structures in Computer Science
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Starting from the $\lambda$-calculus with names, we develop a family of calculi with explicit substitutions that overcome the usual syntactical problems of substitution. The key idea is that only closed substitutions can be moved through certain constructs. This gives a weak form of reduction, called closed reduction, which is rich enough to capture both the call-by-value and call-by-name evaluation strategies in the $\lambda$-calculus. Moreover, since substitutions can move through abstractions and reductions are allowed under abstractions (if certain conditions hold), closed reduction naturally provides an efficient notion of reduction with a high degree of sharing and low overheads. We present a family of abstract machines for closed reduction. Our benchmarks show that closed reduction performs better than all standard weak strategies, and its low overheads make it more efficient than optimal reduction in many cases.