>
> Martin R wrote:
> >
> > The symbol is actually provided in the internal representation of diff.
>
> > That's why I added
> >
> > -- l is a triple [function at dummy variable, dummy variable, evaluated
> at]
>
> But are you sure we can reuse it? In the past such reuse lead
> to unitended capture and bugs. In fact, the bug you are trying
> to fix is just example of unintended capture -- I missed checks
> that y is used only once.
>
I find it hard to be sure, but I think it is quite safe, because
otherwise the differentiation operator wouldn't work either.
Do you have an idea how to try to break it?
(1) -> f := operator 'f
(1) f
Type:
BasicOperator
(2) -> ex := D(f(x,y), x)
(2) f (x,y)
,1
Type:
Expression(Integer)
(3) -> a := argument(first kernels ex)$Kernel EXPR INT
(3) [f(%A,y), %A, x]
Type:
List(Expression(Integer))
(4) -> %A := "hi"
(4) "hi"
Type:
String
(5) -> a := argument(first kernels ex)$Kernel EXPR INT
(5) [f(%A,y), %A, x]
Type:
List(Expression(Integer))
(6) -> ex::INFORM
(6) (eval (D (f %A y) %A) %A x)
Type:
InputForm
Martin
--
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 post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/6461316a-190e-484f-b067-4de118d5b3b9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.