| Bill Allombert on Mon, 05 Nov 2007 12:51:42 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| eval behaviour in CVS |
Hello PARI-dev,
Only if you are using the CVS version:
At the time my() and lexically-scoped local variables were
implemented, eval behaviour changed:
? f(x)=eval(x)
%1 = (x)->eval(x)
? g(x)=eval("x")
%2 = (x)->eval("x")
? f(2)
%3 = x
? g(2)
%4 = x
We decided to reinstate the old behavior in the name of backward
compatibility. If you used the local(x=x) trick, this is no more
useful.
This involves a new prototype code that record the list
of local variables at the time a function is compiled (eval here).
This list can then be used at runtime to access lexically-scoped local
variables by name.
Cheers,
Bill.