2013 | OriginalPaper | Chapter
Assignment Calculus: A Pure Imperative Language
Authors : Marc Bender, Jeffery Zucker
Published in: Logical Foundations of Computer Science
Publisher: Springer Berlin Heidelberg
Activate our intelligent search to find suitable subject content or patents.
Select sections of text to find matching patents with Artificial Intelligence. powered by
Select sections of text to find additional relevant content using AI-assisted search. powered by
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,
assignment
‘
X
: =
t
’,
sequence
‘
t
;
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.