Advertisement

The BC-chain method for representing combinators in linear space

  • Kohei Noshita
  • Teruo Hikita
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 220)

Abstract

Turner's combinator implementation (1979) of functional programs requires the memory space of size Ω(n2) in the worst case for translating given lambda expressions of length n to combinator graphs. In this paper a new idea named the BC-chain method for transferring actual arguments to variables is presented. We show that the BC-chain method requires only 0(n) space for the translation. The basic idea is to group together into a single entity a sequence of combinators B, B′, C and C′, for a variable, which appear consecutively along a path in the combinator graph. We formulate two reduction algorithms in the new representation. The first algorithm naively simulates the original normal order reduction, while the second algorithm simulates it in constant time per unit operation of the original reduction. Another reduction method is also suggested, and a technique for practical implementation is briefly mentioned.

Keywords

Unit Operation Basic Block Reduction Algorithm Reduction Rule Interior Node 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    S. K. Abdali: An abstraction algorithm for combinatory logic, J. Symbolic Logic, 41 (1976), 222–224.Google Scholar
  2. [2]
    F. W. Burton: A linear space representation of functional programs to Turner combinators, Inform. Process. Lett., 14 (1982), 201–204.CrossRefGoogle Scholar
  3. [3]
    T. Hikita: On the average size of Turner's translation to combinator programs, J. Inform. Process., 7, 3 (1984), 164–169.Google Scholar
  4. [4]
    R. J. M. Hughes: Super-Combinators, Conf. Rec. of the 1982 ACM Symp. on LISP and Functional Programming, 1982, 1–10.Google Scholar
  5. [5]
    J. R. Kennaway: The complexity of a translation of λ-calculus to combinators, School of Computing Studies and Accountancy, Univ. of East Anglia, Norwich, 1982.Google Scholar
  6. [6]
    J. R. Kennaway and M. R. Sleep: Efficiency of counting director strings, typescript, 1983.Google Scholar
  7. [7]
    K. Noshita: Translation of Turner combinators in 0(n log n) space, Inform. Process. Lett., to appear.Google Scholar
  8. [8]
    D. A. Turner: Another algorithm for bracket abstraction, J. Symbolic Logic, 44 (1979), 267–270.Google Scholar
  9. [9]
    D. A. Turner: A new implementation technique for applicative languages, Softw. Pract. Exper., 9 (1979), 31–49.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • Kohei Noshita
    • 1
  • Teruo Hikita
    • 2
  1. 1.Department of Computer ScienceDenkitusin UniversityChofu, Tokyo
  2. 2.Department of MathematicsTokyo Metropolitan UniversitySetagaya, Tokyo

Personalised recommendations