Variable abstraction in O(n log n) space (Q1090671): Difference between revisions

From MaRDI portal
Import240304020342 (talk | contribs)
Set profile property.
ReferenceBot (talk | contribs)
Changed an Item
 
Property / cites work
 
Property / cites work: A linear space translation of functional programs to Turner combinators / rank
 
Normal rank
Property / cites work
 
Property / cites work: Director strings as combinators / rank
 
Normal rank
Property / cites work
 
Property / cites work: Translation of Turner combinators in O(n log n) space / rank
 
Normal rank
Property / cites work
 
Property / cites work: A new implementation technique for applicative languages / rank
 
Normal rank
Property / cites work
 
Property / cites work: Another algorithm for bracket abstraction / rank
 
Normal rank

Latest revision as of 20:18, 17 June 2024

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
    0 references
    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
    0 references
    0 references
    0 references
    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