Choices in Representation and Reduction Strategies for Lambda Terms in Intensional Contexts

  • Authors:
  • Chuck Liang;Gopalan Nadathur;Xiaochu Qi

  • Affiliations:
  • Department of Computer Science, Hofstra University, Hempstead 11550;Department of Computer Science and Engineering and Digital Technology Center, University of Minnesota, Minneapolis 55455;Department of Computer Science and Engineering, University of Minnesota, Minneapolis 55455

  • Venue:
  • Journal of Automated Reasoning
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

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. New notations have been proposed for the lambda calculus that provide an excellent basis for realizing such implementations. There are, however, several choices in the actual deployment of these notations the practical consequences of which are not currently well understood. We attempt to develop such an understanding here by examining the impact on performance of different combinations of the features afforded by such notations. Among the facets examined are the treatment of bound variables, eagerness and laziness in substitution and reduction, the ability to merge different structure traversals into one, and the virtues of annotations on terms that indicate their dependence on variables bound by external abstractions. We complement qualitative assessments with experiments conducted by executing programs in a language that supports an intensional view of lambda terms while varying relevant aspects of the implementation of the language. Our study provides insights into the preferred approaches to representing and reducing lambda terms and also exposes characteristics of computations that have a somewhat unanticipated effect on performance.