Declaration Sequences
Consider D1;D2 for declarations.
- Second copy rule:
- (define I1=V1, ..., define In=Vn); D
=>
define I1=V1, ..., define In=Vn,
[V1, ..., Vn/In]D.
- Translation of D1;D2 into D1,Dn by propagation of bindings
of D1 into D2.
- Example:
- fun A=@loc2; fun B=A+1
in loc2:=A+B
=>
fun A=@loc2, [@loc2/A](fun
B=A+1)
in loc2:=A+B
=
fun A=@loc2, fun
B=[@loc2/A](A+1)
in
loc2:=A+B
=
fun A=@loc2, fun
B=@loc2+1
in
loc2:=A+B
=>
[@loc2/A,
@loc2+1/B]loc2:=A+B
=
loc2:=(@loc2)+(@loc2+1)
Author: Wolfgang Schreiner
Last Modification: April 2, 1998