Call-by-value versus call-by-name: A proof-theoretic comparison
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.
KeywordsBinary Relation Parameter Mechanism Projection Function Partial Function Identity Relation
Unable to display preview. Download preview PDF.
- 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.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- Dijkstra, E.W., A simple axiomatic basis for programming languages constructs, Indagationes Mathematicae, 36 (1974) 1–15.Google Scholar
- Hoare, C.A.R., An axiomatic basis for computer programming, Comm. ACM, 12 (1969) 576–583.Google Scholar
- Karp, R.M., Some applications of logical syntax to digital computer programming, Thesis, Harvard University, 1959.Google Scholar
- Manna, Z., and J. Vuillemin, Fixpoint approach to the theory of computation, Comm. ACM, 15 (1972) 528–536.Google Scholar
- Scott, D., Lattice theory, data types, and semantics, in NYU Symposium on formal semantics, pp. 64–106, Princeton, 1972.Google Scholar
- Scott, D., and J.W. de Bakker, A theory of programs, Unpublished notes, IBM Seminar, Vienna, 1969.Google Scholar