|
From: Eduardo O. <edu...@gm...> - 2025-04-26 11:25:38
|
I understood some parts - but at least I have better questions now.
If I run this simpler example,
trace(?dim\-%at);
o : 'at(f(x), x=a);
I get:
(%i1) trace(?dim\-%at);
(%o1) [dim-%at]
(%i2) o : 'at(f(x), x=a);
│
1 Call dim\-%at [f(x)│ , 0( , ), 2, o, %, ()]
│x = a
1 Return dim\-%at 0((d-vbar, 2, 1, │), ), x, (, f, (0, 0), , ), 2, o, %,
()
│
(%o2) f(x)│
│x = a
(%i3)
My first impression is that dim-%at was called with two arguments -
my `o' and this "call to 0",
apply(\0, reverse(charlist("(%o2) ")));
and it returned this other "call to 0", in which some arguments looks
like tuples. I don't know how to synthesize them from Maxima yet, so
in the code below I replaced them with strings just to get something
that looks like the thing after the "Return dim\-%at" above...
o2 : reverse(charlist("(%o2) "));
ofx : reverse(charlist("f(x)"));
ovbar : ["(d-vbar, 2, 1, │)"];
o00 : ["(0, 0)"];
append(ovbar, ofx, o00, o2);
apply(\0, append(ovbar, ofx, o00, o2));
What are the "calls to 0" and the "tuples" in the output of trace
above?
Thanks in advance, more later, etc...
Eduardo
On Sat, 26 Apr 2025 at 05:19, Michel Talon <ta...@lp...> wrote:
> First try thefollowing commands:
>
> trace(?dim\-%at);
>
> atvalue ('diff (f(x,y), x), x = 0, 1 + y);
>
> printprops (all, atvalue);
>
> I think what appears can be understood readily.
>
|