|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.