ev(l(0),l(x):=x+2) => 2 OK
l(3) => l(3) OK, fnc def is local
ev(k(0),k(x):=1/x) => Division by 0 OK
k(3) => 1/3 Oops.
Apparently ev didn't unwind the function definition because of the error. Same problem with hasharrays:
ev((i:0,r[0]),r[x]:=(r[i:i+1]:foo(i),1/x));
=> Division by 0
r[1] => foo(0)
r[x] => 1/x
This has been fixed in commit [9387d6].
Related
Commit: [9387d6]