Abstract
Minimal fixed point operators were introduced by Scott and De Bakker in order to describe the input-output behaviour of recursive procedures. As they considered recursive procedures acting upon a monolithic state only, i.e., procedures acting upon one variable, the problem remained open how to describe this input-output behaviour in the presence of an arbitrary number of components which as a parameter may be either called-by-value or called-by-name. More precisely, do we need different formalisms in order to describe the input-output behaviour of these procedures for different parameter mechanisms, or do we need different minimal fixed point operators within the same formalism, or do different parameter mechanisms give rise to different transformations, each subject to the same minimal fixed point operator? Using basepoint preserving relations over cartesian products of sets with unique basepoints, we provide a single formalism in which the different combinations of call-by-value and call-by-name are represented by different products of relations, and in which only one minimal fixed point operator is needed. Moreover this mathematical description is axiomatized, thus yielding a relational calculus for recursive procedures with a variety of possible parameter mechanisms.
This publication is registered as report IW 23/74 of the Mathematisch Centrum.
Preview
Unable to display preview. Download preview PDF.
References
De Bakker, J.W., and W.P. de Roever, A calculus for recursive program schemes, in Proc. IRIA Symposium on Automata, Formal Languages and Programming, M. Nivat (ed.), North-Holland, Amsterdam, 1972.
De Roever, W.P., Operational and mathematical semantics for recursive polyadic program schemata (extended abstract), in Proceedings of Symposium and Summer School "Mathematical Foundations of Computer Science", 3–8 September 1973, High Tatras, Czechoslovakia, pp. 293–298.
De Roever, W.P., Recursion and parameter mechanisms: an axiomatic approach, in Automata, Languages and Programming, 2nd Colloquium, University of Saarbrücken, July 29–August 2, 1974, Edited by Jacques Loeckx, Lecture Notes in Computer Science no. 14, Springer-Verlag, Berlin etc., 1974.
Dijkstra, E.W., A simple axiomatic basis for programming languages constructs, Indagationes Mathematicae, 36 (1974) 1–15.
Hoare, C.A.R., An axiomatic basis for computer programming, Comm. ACM, 12 (1969) 576–583.
Karp, R.M., Some applications of logical syntax to digital computer programming, Thesis, Harvard University, 1959.
Manna, Z., and J. Vuillemin, Fixpoint approach to the theory of computation, Comm. ACM, 15 (1972) 528–536.
Scott, D., Lattice theory, data types, and semantics, in NYU Symposium on formal semantics, pp. 64–106, Princeton, 1972.
Scott, D., and J.W. de Bakker, A theory of programs, Unpublished notes, IBM Seminar, Vienna, 1969.
Editor information
Rights and permissions
Copyright information
© 1975 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
De Roever, W.P. (1975). Call-by-value versus call-by-name: A proof-theoretic comparison. In: Blikle, A. (eds) Mathematical Foundations of Computer Science. MFCS 1974. Lecture Notes in Computer Science, vol 28. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-07162-8_703
Download citation
DOI: https://doi.org/10.1007/3-540-07162-8_703
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-07162-4
Online ISBN: 978-3-540-37492-3
eBook Packages: Springer Book Archive