Variable abstraction in O(n log n) space (Q1090671)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Variable abstraction in O(n log n) space |
scientific article |
Statements
Variable abstraction in O(n log n) space (English)
0 references
1987
0 references
Turner's translation of lambda calculus into combinators in known to cause in the worst case a quadratic expansion in the size of an expression. This paper defines a more systematic translation into a notation of ''director strings'' closely related to Turner's combinators. The notation admits an obvious compaction by run-length encoding, which reduces the size of the translation of a lambda expression of size n to O(n log n). The time to make the translation is still quadratic in the worst case, but by combining director strings with supercombinators this can also be reduced to O(n log n). There is a simple linear translation of a director string expression into Turner's combinators, and hence into any other set of combinators sufficiently expressive to represent all lambda expressions. Up to a constant factor, evaluation of director string expressions takes the same time as the corresponding Turner combinator expressions. In practical implementations of functional languages, director strings have been found to give a significant, though not dramatic, improvement in execution speed. The work reported in this paper predates, and is independent of, \textit{K. Noshita}'s paper proving some of the same results [ibid. 20, 71-74 (1985; Zbl 0558.68028)].
0 references
functional programming
0 references
variable abstraction
0 references
complexity
0 references
lambda calculus
0 references
director strings
0 references
Turner combinator
0 references