On 12/18/23 08:56, Waldek Hebisch wrote:
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.
Interpreter uses somewhat funky data structures, so it is hard to make
a separate call. "interpOnly" is called when interpreter fails to compile
a function, basically when it does not see that types match.
There is a message:
FriCAS will attempt to step through and interpret the code.
you can use it to search for examples.
One such example of "interpOnly" is:
f==n+->sum(sum(1/i,i=1..j),j=1..n)
f(1)
Back to this bug:
So it seems that "savedTimerStack" is intentionally paired with "CATCH".
Given the nature of stack, I presume a simple assignment is enough, copy
is not needed?
savedTimerStack := $timedNameStack
c := CATCH('interpreter,interpret(x, posnForm))
$timedNameStack := savedTimerStack
Otherwise I'm a bit lost to this bug.
Waldek, what's your opinion on fixing this bug?
- 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/536c9da0-670b-4f69-ab14-34e3da9ab07a%40gmail.com.