Director strings as combinators
- 1 October 1988
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 10 (4) , 602-626
- https://doi.org/10.1145/48022.48026
Abstract
A simple calculus (the Director String Calculus-DSC) for expressing abstractions is introduced, which captures the essence of the “long reach” combinators introduced by Turner. We present abstraction rules that preserve the applicative structure of the original lambda term, and that cannot increase the number of subterms in the translation. A translated lambda term can be reduced according to the evaluation rules of DSC. If this terminates with a DSC normal form, this can be translated into a lambda term using rules presented below. We call this process of abstracting a lambda term, reducing to normal form in the space of DSC terms, and translating back to a lambda term an implementation . We show that our implementation of the lambda calculus is correct: For lambda terms with a normal form that contains no lambdas ( ground terms ), the implementation is shown to yield a lambda calculus normal form. For lambda terms whose normal forms represent functions, it is shown that the implementation yields lambda terms that are beta-convertible in zero or more steps to the normal form of the original lambda term. In this sense, our implementation involves weak reduction according to Hindley et al. [9].Keywords
This publication has 9 references indexed in Scilit:
- Variable abstraction in O(n log n) spaceInformation Processing Letters, 1987
- Combinators and Functional Programming LanguagesLecture Notes in Computer Science, 1986
- Complexity of the combinator reduction machineTheoretical Computer Science, 1985
- Axioms for the Theory of Lambda-ConversionSIAM Journal on Computing, 1985
- A linear space translation of functional programs to Turner combinatorsInformation Processing Letters, 1982
- Optimal evaluations of graph-like expressionsTheoretical Computer Science, 1980
- Another algorithm for bracket abstractionThe Journal of Symbolic Logic, 1979
- A new implementation technique for applicative languagesSoftware: Practice and Experience, 1979
- Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theoremIndagationes Mathematicae, 1972