Does this behavior make sense?



> depends(a,[b,b,b]) =>  [a(b, b, b)]
> diff(a,b) => 3 * (da/db)

I have reported this as bug 893633.  See text of bug report below.

The return value of Depends might be misleading some users:
depends(y,[x,t]) => [y(x,t)] might encourage users to think that they've
declared y to be a function taking two arguments named x and t.

I think it is best that depends NOT give an error.  depends(y,y) should
be a no-op (since y always depends on itself), and depends(y,[x1,x1])
should behave  the same as ( depends(y,[x1]), depends(y,[x1]) ) ==
depends(y,[x1]).

There is an argument to be made that it should give a *warning* if
something is re-declared dependent, but Maxima doesn't do that for other
declarations (e.g. declare(foo,odd)), so why should it do it for
depends?

       -s


-----------------------------

depends(a,[b,b,b]);
diff(a,b) => 3 * (da/db)  NO!

The correct result is (da/db).

The original depends should either have given an error, or been
synonymous with depends(a,b,a,b,a,b) which is synonymous with (
depends(a,b), depends(a,b), depends(a,b) ).

Originally reported by Dan Stanger on Maxima list (02/09/2004 07:02 AM)