Go backward to
The Correspondence Principle
Go up to
Top
Go forward to
Consequences of Correspondence
Consequences of Correspondence
Semantics of identifiers:
Independent of way in which identifier is bound.
Understanding more easy.
Direction for language extension:
Existing abstraction (e.g. procedures).
Introduce parameter form (e.g. command parameter).
Correspondence may fail:
Evaluate functions lazily but expression parameters eagerly.
var
A
:
newint
;
fun
F
= @
A
+1
proc
P
(
X
:
intexp
) =
A
:=
X
+
F
;
A
:=
X
+
F
Both
X
and
F
have type
intexp
.
X
and
F
are evaluated differently.
Syntactic distinction:
A
:=
X
+(
eval
F
)
Author:
Wolfgang Schreiner
Last Modification: May 7, 1998