Skip to main content

On the first-order equivalence of call-by-name and call-by-value

  • Contributed Papers
  • Conference paper
  • First Online:
Trees in Algebra and Programming — CAAP'94 (CAAP 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 787))

Included in the following conference series:

Abstract

Within the framework of (first-order) recursive applicative program schemes we prove the parameter-passing mechanisms call-by-name and call-by-value to be of the same computational power, thus solving an open problem in the theory of functional programming. The equivalence proof is given constructively by a detour through flowchart program schemes which operate on pushdown stores. This result is in contrast to the non-deterministic (i.e., language-theoretic) case where the outermost (OI) and the innermost (IO) expansion strategy of macro grammars lead to incomparable classes of string languages.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. C.A. Albayrak. Vergleichende Gegenüberstellung der Parameterübergabemechanismen Call-by-name und Call-by-value im Rahmen funktionaler Programme. Master's thesis, Aachen Univ. of Technology, March 1993. In German.

    Google Scholar 

  2. J.W. de Bakker. Least fixed points revisited. Theoretical Computer Science, 2:155–181, 1976.

    Article  Google Scholar 

  3. S. Brown, D. Gries, and T. Szymanski. Program schemes with pushdown stores. SIAM Journal on Computing, 1:242–268, 1972.

    Article  Google Scholar 

  4. J.M. Cadiou. Recursive Definitions of Partial Functions and their Computations. PhD thesis, Stanford University, 1972.

    Google Scholar 

  5. R.L. Constable and D. Gries. On classes of program schemata. SIAM Journal on Computing, 1:66–118, 1972.

    Article  Google Scholar 

  6. B. Courcelle. Recursive applicative program schemes. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Vol. B, chapter 9, pages 459–492. Elsevier Science Publishers, 1990.

    Google Scholar 

  7. W. Damm. The IO-and OI-hierarchies. Theoretical Computer Science, 20:95–207, 1982.

    Article  Google Scholar 

  8. W. Damm, E. Fehr, and K. Indermark. Higher-type recursion and self-application as control structures. In E.J. Neuhold, editor, Formal Description of Programming Concepts, pages 461–487. Elsevier (North-Holland), 1978.

    Google Scholar 

  9. J. Engelfriet and E.M. Schmidt. IO and OI. Part I. Journal of Computer and System Sciences, 15:328–353, 1977.

    Google Scholar 

  10. J. Engelfriet and E.M. Schmidt. IO and OI. Part II. Journal of Computer and System Sciences, 16:67–99, 1978.

    Article  Google Scholar 

  11. M.J. Fischer. Grammars with Macro-like Productions. PhD thesis, Harvard University, Cambridge, 1968.

    Google Scholar 

  12. A. Goerdt. Characterizing complexity classes by general recursive definitions in higher types. Information and Control, 101(2):202–218, 1992.

    Google Scholar 

  13. S.A. Greibach. Theory of Program Structures: Schemes, Semantics, Verification, volume 36 of Lecture Notes in Computer Science. Springer-Verlag, 1975.

    Google Scholar 

  14. A.J. Kfoury, J. Tiuryn, and P. Urzyczyn. On the expressive power of finitely typed and universally polymorphic recursive procedures. Theoretical Computer Science, 93:1–41, 1992.

    Article  Google Scholar 

  15. H. Langmaack. On procedures as open subroutines. Part I. Acta Informatica, 2:311–333, 1973.

    Article  Google Scholar 

  16. H. Langmaack. On procedures as open subroutines. Part II. Acta Informatica, 3:227–241, 1974.

    Article  Google Scholar 

  17. A. Mycroft. Abstract Interpretation and Optimizing Transformations for Applicative Programs. PhD thesis, University of Edinburgh, 1981.

    Google Scholar 

  18. M. Nivat. On the interpretation of recursive polyadic program schemes. Symposia Mathematica, 15:255–281, 1975.

    Google Scholar 

  19. M.S. Paterson and C.E. Hewitt. Comparative schematology. In Record on Project MAC Conference on Concurrent Systems and Parallel Computation, pages 119–128. ACM, 1970.

    Google Scholar 

  20. G.D. Plotkin. Call-by-name, call-by-value, and the A-calculus. Theoretical Computer Science, 1:125–159, 1975.

    Article  Google Scholar 

  21. W.-P. de Roever. First-order reduction of call-by-name to call-by-value. In Proc. 4th MFCS, volume 32 of Lecture Notes in Computer Science, pages 377–398. Springer-Verlag, 1975.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Sophie Tison

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Noll, T. (1994). On the first-order equivalence of call-by-name and call-by-value. In: Tison, S. (eds) Trees in Algebra and Programming — CAAP'94. CAAP 1994. Lecture Notes in Computer Science, vol 787. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017486

Download citation

  • DOI: https://doi.org/10.1007/BFb0017486

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57879-6

  • Online ISBN: 978-3-540-48373-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics