Advertisement

Call-by-value combinatory logic and the lambda-value calculus

  • John Gateley
  • Bruce F. Duba
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 598)

Abstract

Since it is unsound to reason about call-by-value languages using call-by name equational theories, we present two by-value combinatory logics and translations from the λ-value (λv) calculus to the logics. The first by-value logic is constructed in a manner similar to the λv-calculus: it is based on the byname combinatory logic, but the combinators are strict. The translation is non-standard to account for the strictness of the input program. The second by-value logic introduces laziness to K terms so that the translation can preserve the structure of functions that do not use their argument. Both logics include constants and delta rules, and we prove their equivalence with the λv-calculus.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    H. Barendregt. The Lambda Calculus: Its Syntax and Semantics. Studies in Logic and the Foundations of Mathematics 103. North-Holland, Amsterdam, revised edition, 1984.Google Scholar
  2. [2]
    W. Burge. Recursive Programming Techniques. Addison-Wesley, Reading, Mass., 1975.Google Scholar
  3. [3]
    A. Church. The Calculi of Lambda-Conversion. Princeton University Press, Princeton, 1941.Google Scholar
  4. [4]
    H. B. Curry. Grundlagen der kombinatorischen Logik. Amer. J. Math, 52:509–536; 789–834, 1930.Google Scholar
  5. [5]
    H. B. Curry and R. Feys. Combinatory Logic, volume 1. North Holland, 1958.Google Scholar
  6. [6]
    N. D. Goodman. A simplification of combinatory logic. Journal of Symbolic Logic, 37(2), 1972.Google Scholar
  7. [7]
    P. Hudak and B. Goldberg. Serial Combinators: “Optimal” Grains of Parallelism. In Proc of Conf. on Functional Prog. Langs. and Comp. Arch., 1985.Google Scholar
  8. [8]
    R. Hughes. Super-combinators: A new implementation method for applicative languages. In Sym. on Lisp and Functional Prog., pages 1–10. ACM, Aug 1982.Google Scholar
  9. [9]
    Kennaway, R. and R. Sleep. Director strings as combinators. ACM Trans. Prog. Lang. Syst., 10(4):602–626, 1988.Google Scholar
  10. [10]
    M. Schönfinkel. über die Bausteine der Mathematischen Logik. Math. Annalen, 92:305–316, 1924.Google Scholar
  11. [11]
    A. Meyer. What is a model of the lambda calculus? Information and Control, 52:87–122, 1982.CrossRefGoogle Scholar
  12. [12]
    G. Plotkin. Call-by-name, call-by-value, and the λ-calculus. Theoretical Computer Science, 1:125–159, 1975.CrossRefGoogle Scholar
  13. [13]
    R. Smullyan. To Mock a Mockingbird and Other Logic Puzzles. Alfred A. Knopf, Inc., New York, 1985.Google Scholar
  14. [14]
    D. A. Turner. A new implementation technique for applicative languages. Software—Practice and Experience, 9:31–49, 1979.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • John Gateley
    • 1
  • Bruce F. Duba
    • 1
  1. 1.Rice UniversityUSA

Personalised recommendations