lA free variable in a
function definition is bound to the variable of the same name in the closest enclosing block
lDynamically scoped: free variable bound to nearest match on the call stack
lproc
fork(x,y:int){ proc snork(a:int){ proc cork() { a := x + y; } x : int; a := x + y; }