Semantics of Lazy Evaluation
- Store is given when function is invoked.
- [[p |- define I=U: {I:H}dec]]e s
= {I=f},
where f s' = [[p |- U:H]]e s'.
- [[p |- invoke I:H]]e s = f s,
where (I=f) in e.
- Soundness of copy rule:
- [[ |- define Ij=Vj in C: comm]]
= [[{} |- [Vj/Ij]C: comm]]{}.
- Relation to core language:
- Core semantics [[.]]c, extended semantics [[.]]a.
- If C contains no identifiers, then [[C: comm]]c =
[[p |- C: comm]]a e, for e consistent with p.
- Copy rule semantics:
- [[ |- define I1=V1, ..., In=Vn in
C: comm]]a = [[ [Vj/Ij]C: comm]]c.
Copy rule simpler than basic semantics!
Author: Wolfgang Schreiner
Last Modification: April 2, 1998