Skip to main content

A uniform approach to applicative and imperative features in programming languages

  • Communications
  • Conference paper
  • First Online:
Book cover Mathematical Foundations of Computer Science 1980 (MFCS 1980)

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

  • 133 Accesses

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.

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. 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

    Google Scholar 

  2. Backus, J. “Programming language semantics and closed applicative languages” Proc. ACM Symp. on Principles of Programming Languages 1973, 71–86

    Google Scholar 

  3. de Bakker, J. “The fixed point approach in semantics: theory and applications” Foundations of Computer Science, Mathematical Centre Tracts 63, 3–53, Amsterdam 1975

    Google Scholar 

  4. Blikle, A. “An analysis of programs by algebraic means” Banach Center Publications, Vol. 2, 167–213, Warsaw 1977

    Google Scholar 

  5. Blikle, A. “A survey of input-output semantics and program verification” ICS PAS Report 344, Warsaw 1979

    Google Scholar 

  6. Blikle, A. “Specified programming” ICS PAS Report 333, Warsaw 1978

    Google Scholar 

  7. Blikle, A.; Mazurkiewicz, A. “An algebraic approach to the theory of programs, algorithms, languages and recursiveness” MFCS 72, Proc. Symp. Jablonna 1972

    Google Scholar 

  8. Katz, S.; Manna, Z. “A closer look at termination” Acta Informatica 5, 333–352, 1975

    Google Scholar 

  9. Mazurkiewicz, A. “Foundations of theory of programming” (in Polish) Problemy przetwarzania informacji, 39–93, Warsaw 1974

    Google Scholar 

  10. Mazurkiewicz, A. “Proving properties of processes” Algorytmy XI, 5–22, 1974

    Google Scholar 

  11. Sokołowski, S. “Axioms for total correctness” Acta Informatica 9, 61–71, 1977

    Google Scholar 

  12. Sokołowski, S. “Procedures and functions with parameters in the calculus of relations” Univ. of Gdańsk, Inst. of Math., Preprint No. 17, 1979

    Google Scholar 

  13. Sokołowski, S. “Programs as term transformers” to appear in Fundamenta Informaticae

    Google Scholar 

  14. Sokołowski, S. “Total correctness for procedures” MFCS 77, Lecture Notes in Computer Science Vol. 53, 475–483, 1977

    Google Scholar 

  15. Sokołowski, S. “Term transformations and their role in investigating properties of programs” (in Polish) in preparation

    Google Scholar 

  16. Tennent, R.D. “The denotational semantics of programming languages” Comm. ACM, Vol. 19, No. 8, 437–453, 1976

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

P. Dembiński

Rights and permissions

Reprints 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

Publish with us

Policies and ethics