English

Reduction Strategies in Lambda Term Normalization and their Effects on Heap Usage

Programming Languages 2007-05-23 v1

Abstract

Higher-order representations of objects such as programs, proofs, formulas and types have become important to many symbolic computation tasks. Systems that support such representations usually depend on the implementation of an intensional view of the terms of some variant of the typed lambda-calculus. Various notations have been proposed for lambda-terms to explicitly treat substitutions as basis for realizing such implementations. There are, however, several choices in the actual reduction strategies. The most common strategy utilizes such notations only implicitly via an incremental use of environments. This approach does not allow the smaller substitution steps to be intermingled with other operations of interest on lambda-terms. However, a naive strategy explicitly using such notations can also be costly: each use of the substitution propagation rules causes the creation of a new structure on the heap that is often discarded in the immediately following step. There is thus a tradeoff between these two approaches. This thesis describes the actual realization of the two approaches, discusses their tradeoffs based on this and, finally, offers an amalgamated approach that utilizes recursion in rewrite rule application but also suspends substitution operations where necessary.

Keywords

Cite

@article{arxiv.cs/0405075,
  title  = {Reduction Strategies in Lambda Term Normalization and their Effects on Heap Usage},
  author = {Xiaochu Qi},
  journal= {arXiv preprint arXiv:cs/0405075},
  year   = {2007}
}

Comments

This is a modified version of the master's thesis of Xiaochu Qi