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.
Preview
Unable to display preview. Download preview PDF.
References
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.
J.W. de Bakker. Least fixed points revisited. Theoretical Computer Science, 2:155–181, 1976.
S. Brown, D. Gries, and T. Szymanski. Program schemes with pushdown stores. SIAM Journal on Computing, 1:242–268, 1972.
J.M. Cadiou. Recursive Definitions of Partial Functions and their Computations. PhD thesis, Stanford University, 1972.
R.L. Constable and D. Gries. On classes of program schemata. SIAM Journal on Computing, 1:66–118, 1972.
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.
W. Damm. The IO-and OI-hierarchies. Theoretical Computer Science, 20:95–207, 1982.
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.
J. Engelfriet and E.M. Schmidt. IO and OI. Part I. Journal of Computer and System Sciences, 15:328–353, 1977.
J. Engelfriet and E.M. Schmidt. IO and OI. Part II. Journal of Computer and System Sciences, 16:67–99, 1978.
M.J. Fischer. Grammars with Macro-like Productions. PhD thesis, Harvard University, Cambridge, 1968.
A. Goerdt. Characterizing complexity classes by general recursive definitions in higher types. Information and Control, 101(2):202–218, 1992.
S.A. Greibach. Theory of Program Structures: Schemes, Semantics, Verification, volume 36 of Lecture Notes in Computer Science. Springer-Verlag, 1975.
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.
H. Langmaack. On procedures as open subroutines. Part I. Acta Informatica, 2:311–333, 1973.
H. Langmaack. On procedures as open subroutines. Part II. Acta Informatica, 3:227–241, 1974.
A. Mycroft. Abstract Interpretation and Optimizing Transformations for Applicative Programs. PhD thesis, University of Edinburgh, 1981.
M. Nivat. On the interpretation of recursive polyadic program schemes. Symposia Mathematica, 15:255–281, 1975.
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.
G.D. Plotkin. Call-by-name, call-by-value, and the A-calculus. Theoretical Computer Science, 1:125–159, 1975.
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.
Author information
Authors and Affiliations
Editor information
Rights 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