Side effects and aliasing can have simple axiomatic descriptions
- 1 October 1985
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 7 (4), 637-655
- https://doi.org/10.1145/4472.4474
Abstract
We present a different style of axiomatic definition for programming languages. It is oriented toward imperative languages, such as Algol 68, that do not distinguish between statements and expressions. Rather than basing the logic on a notion of pre- or postcondition, we use the value of a programming language expression as the underlying primitive. A number of language constructs are examined in this framework. We argue that this style of definition gives us a significantly different view of the notion of “easy axiomatixability.” Side effects in expressions as well as aliasing between variables are shown to be “easily axiomatizable” in our system.Keywords
This publication has 13 references indexed in Scilit:
- Predicative programming Part ICommunications of the ACM, 1984
- A critique of the foundations of Hoare style programming logicsCommunications of the ACM, 1982
- The logic of aliasingActa Informatica, 1981
- The Science of ProgrammingPublished by Springer Nature ,1981
- Assignment and Procedure Call Proof RulesACM Transactions on Programming Languages and Systems, 1980
- Programming Language Constructs for Which It Is Impossible To Obtain Good Hoare Axiom SystemsJournal of the ACM, 1979
- Axiomatic approach to side effects and general jumpsActa Informatica, 1977
- A note on the semantic definition of side effectsInformation Processing Letters, 1976
- Revised report on the algorithmic language ALGOL 68Acta Informatica, 1975
- An axiomatic basis for computer programmingCommunications of the ACM, 1969