Can anyone explain to me why the argument of the innerproc, which as y is a local of the outerproc, gets evaluated more than one level?

innerproc := proc(t)
print(t[1]); # or dismantle, or lprint
end proc:

outerproc := proc(x)
local y;
y := x;
print(y[1]); # or dismantle, or lprint
innerproc(y);
end proc:

outerproc(vector(1,['exp(0)']));


acer


Please Wait...