Go backward to Extent
Go up to Top
Go forward to Escaping Locations
Escaping Locations
- Answer produced by block contains location:
- begin proc P =
begin var A: newint;
proc Q(X: intexp) = A:=X
in Q end
in (call P)(2) end
- Answer of P is parameterized procedure.
- P: intexp comm!
- Location of A escapes P
- A bound to loc.
- Answer of P is procedure that updates loc.
- =
[[mypi -U- {A: intloc, X: intexp}
|- A:=X: comm]]
( -U- {A=loc, X=v})
= update(loc, , )
- Current typing system prevents this!
Escaping locations must not be freed!
Wolfgang.Schreiner@risc.uni-linz.ac.at
Id: qualification.tex,v 1.2 1996/05/02 11:53:49 schreine Exp schreine