On 12/17/23 23:56, Waldek Hebisch wrote:

So the "$timedNameStack : local" declaration is the key here.

For just restoring value there is construction:

fun1(x, $var) ==
     -- do work

fun(x) == fun1(x, $var)

The effect is that 'fun1' uses current value of '$var' but any
changes inside 'fun1' are discarde when 'fun1' resturns (Lisp
restores value that '$var' had at entry to 'fun1').


This is the same as ":local" declaration, right? The ":local"
declaration creates an implicit "PROG" scope.

How about let's proceed like this:

1. apply the patch in this mail, to prevent infinity recursion

I am affraid that we need to do something in 'interpMap' in (i-map.boot).


So the dynamic variable shadowing should also happen in "interpret1"?

BTW, can you give an example of "interpOnly"?  So that I can test it.

- Qian

--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/8a75641b-80f8-4c37-9c99-74fae7aa1f88%40gmail.com.

Reply via email to