Skip to main content

Assignment Calculus: A Pure Imperative Language

  • Conference paper
Logical Foundations of Computer Science (LFCS 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7734))

Included in the following conference series:

  • 767 Accesses

Abstract

We undertake a study of imperative computation. Beginning with a philosophical analysis of the distinction between imperative and functional language features, we define a (pure) imperative language as one whose constructs are (inherently) referentially opaque. We then give a definition of a computation language by identifying desirable properties for such a language.

We present a new pure imperative computation language, Assignment Calculus AC. The main idea behind AC is based on the insight of T. Janssen that Montague’s modal operators of intension and extension, developed for the study of natural language semantics, are also useful for the semantics of programming language features such as assignments and pointers. AC consists of only four basic constructs, assignmentX: = t’, sequencet;u’, procedure formation¡t’ and procedure invocation!t’. Two interpretations are given for AC: an operational semantics and a term-rewriting system; these interpretations turn out to be equivalent.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

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 style and its algebra of programs. Commun. ACM 21(8), 613–641 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  2. Barendregt, H.P.: The Lambda Calculus: Its Syntax and Semantics. North Holland (1984)

    Google Scholar 

  3. Bender, M.: Assignment Calculus: A Pure Imperative Reasoning Language. PhD thesis, McMaster University (2010)

    Google Scholar 

  4. Carnap, R.: Meaning and Necessity. University of Chicago (1947)

    Google Scholar 

  5. Church, A.: A formulation of the simple theory of types. Journal of Symbolic Logic 5(2), 56–68 (1940)

    Article  MathSciNet  MATH  Google Scholar 

  6. Church, A.: The Calculi of Lambda Conversion. Princeton (1941)

    Google Scholar 

  7. Church, A.: A formulation of the logic of sense and denotation. In: Henle, P. (ed.) Structure, Method and Meaning: Essays in Honor of Henry M. Sheffer, pp. 3–24. Liberal Arts Press (1951)

    Google Scholar 

  8. Field, A.J., Harrison, P.G.: Functional Programming. Addison-Wesley (July 1988)

    Google Scholar 

  9. Felleisen, M., Hieb, R.: The revised report on the syntactic theories of sequential control and state. Theor. Comput. Sci. 103(2), 235–271 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  10. Frege, G.: Über Sinn und Bedeutung. Zeitschrift für Philosophie und philosophische Kritik 100, 25–50 (1892)

    Google Scholar 

  11. Hudak, P., Hughes, J., Jones, S.P., Wadler, P.: A history of Haskell: being lazy with class. In: HOPL III: Proc. 3rd ACM SIGPLAN Conf. on History of Prog. Languages, pp. 12-1–12-55. ACM, New York (2007)

    Google Scholar 

  12. Hung, H.-K.: Compositional Semantics and Program Correctness for Procedures with Parameters. PhD thesis, SUNY-Buffalo (1990)

    Google Scholar 

  13. Hung, H.-K., Zucker, J.: Semantics of pointers, referencing and dereferencing with intensional logic. In: Proc. 6th Annual IEEE Symposium on Logic in Computer Science, pp. 127–136 (1991)

    Google Scholar 

  14. Janssen, T.M.V.: Foundations and Applications of Montague Grammar: Part 1: Philosophy, Framework, Computer Science. Centrum voor Wiskunde en Informatica, Amsterdam (1986)

    Google Scholar 

  15. Janssen, T.M.V., van Emde Boas, P.: On the Proper Treatment or Referencing, Dereferencing and Assignment. In: Salomaa, A., Steinby, M. (eds.) ICALP 1977. LNCS, vol. 52, pp. 282–300. Springer, Heidelberg (1977)

    Chapter  Google Scholar 

  16. Kripke, S.A.: A completeness theorem in modal logic. Journal of Symbolic Logic 24, 1–14 (1959)

    Article  MathSciNet  MATH  Google Scholar 

  17. Montague, R.: Universal grammar. Theoria 36, 373–398 (1970)

    Article  MathSciNet  Google Scholar 

  18. Montague, R.: The proper treatment of quantification in ordinary English. In: Hintikka, K.J.J., Moravcsik, J.M.E., Suppes, P. (eds.) Approaches to Natural Language, pp. 221–242. Reidel (1973)

    Google Scholar 

  19. Quine, W.V.: Word and Object. MIT Press, Cambridge (1960)

    MATH  Google Scholar 

  20. Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: LICS, pp. 55–74. IEEE Computer Society (2002)

    Google Scholar 

  21. Scott, D.S.: Outline of a mathematical theory of computation. Tech. Monograph PRG–2, Oxford University Computing Laboratory (1970)

    Google Scholar 

  22. Scott, D., Strachey, C.: Toward a mathematical semantics for computer languages. In: Fox, J. (ed.) Proc. Symp. on Computers and Automata, Brooklyn, N.Y., vol. XXI, pp. 19–46. Polytechnic Press (April 1971)

    Google Scholar 

  23. Turing, A.: On computable numbers, with an application to the Entscheidungsproblem. Proc. London Math. Soc. 2(42), 230–265 (1936)

    MathSciNet  Google Scholar 

  24. Winskel, G.: The formal semantics of programming languages: an introduction. MIT Press, Cambridge (1993)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bender, M., Zucker, J. (2013). Assignment Calculus: A Pure Imperative Language. In: Artemov, S., Nerode, A. (eds) Logical Foundations of Computer Science. LFCS 2013. Lecture Notes in Computer Science, vol 7734. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35722-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35722-0_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35721-3

  • Online ISBN: 978-3-642-35722-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics