Abstract
We call “applicative” such features of programming languages as functional procedures or recursion inside arithmetical expressions. We call “imperative” such features as local variables, states, assignments, loops or parameters called by reference. We give a uniform input/output semantics and proof rules for a toy programming language that includes both. The semantics is nice in that it does not introduce explicitly anything that programmer chooses to leave implicit (e.g. stacks for recursion). The proof rules do not involve complicated variable- and parameter- replacements as is customary for procedures with parameters.
The paper is an informal bird's eye view rather than a formal exposition and the Reader is referred to other papers for technicalities of the approach. Several examples are given.
Preview
Unable to display preview. Download preview PDF.
References
Backus, J. “Can programming be liberated from the von Neumann style ? A functional programming style and its algebra of programs” Comm. ACM 21, 8, 1978
Backus, J. “Programming language semantics and closed applicative languages” Proc. ACM Symp. on Principles of Programming Languages 1973, 71–86
de Bakker, J. “The fixed point approach in semantics: theory and applications” Foundations of Computer Science, Mathematical Centre Tracts 63, 3–53, Amsterdam 1975
Blikle, A. “An analysis of programs by algebraic means” Banach Center Publications, Vol. 2, 167–213, Warsaw 1977
Blikle, A. “A survey of input-output semantics and program verification” ICS PAS Report 344, Warsaw 1979
Blikle, A. “Specified programming” ICS PAS Report 333, Warsaw 1978
Blikle, A.; Mazurkiewicz, A. “An algebraic approach to the theory of programs, algorithms, languages and recursiveness” MFCS 72, Proc. Symp. Jablonna 1972
Katz, S.; Manna, Z. “A closer look at termination” Acta Informatica 5, 333–352, 1975
Mazurkiewicz, A. “Foundations of theory of programming” (in Polish) Problemy przetwarzania informacji, 39–93, Warsaw 1974
Mazurkiewicz, A. “Proving properties of processes” Algorytmy XI, 5–22, 1974
Sokołowski, S. “Axioms for total correctness” Acta Informatica 9, 61–71, 1977
Sokołowski, S. “Procedures and functions with parameters in the calculus of relations” Univ. of Gdańsk, Inst. of Math., Preprint No. 17, 1979
Sokołowski, S. “Programs as term transformers” to appear in Fundamenta Informaticae
Sokołowski, S. “Total correctness for procedures” MFCS 77, Lecture Notes in Computer Science Vol. 53, 475–483, 1977
Sokołowski, S. “Term transformations and their role in investigating properties of programs” (in Polish) in preparation
Tennent, R.D. “The denotational semantics of programming languages” Comm. ACM, Vol. 19, No. 8, 437–453, 1976
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1980 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sokołowski, S. (1980). A uniform approach to applicative and imperative features in programming languages. In: Dembiński, P. (eds) Mathematical Foundations of Computer Science 1980. MFCS 1980. Lecture Notes in Computer Science, vol 88. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022537
Download citation
DOI: https://doi.org/10.1007/BFb0022537
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-10027-0
Online ISBN: 978-3-540-38194-5
eBook Packages: Springer Book Archive