Inconsistency when using previously defined variables as arguments to functions



On 1/30/11, Stavros Macrakis <macrakis at alum.mit.edu> wrote:

> * ev is a weird and complicated routine, and you should avoid using it
> unless you absolutely have to.

The problem with ev is that it's too complicated to be able to predict
what's going to happen when it's called. I'm in favor of moving most
of the 50 different things it does into separate functions.

That said, the function exists and it's documented, so we can hardly
be surprised that people use it.

> * ev( ... , simp ) is synonymous with ev( ... ) unless you have previously
> set simp to false (which is a bad idea).  What did you expect it to do?

I disagree that simp:false is a bad idea. The effect is exactly what
one would expect; it disables built-in simplifications. If that's what
you want, then great.

Maxima is kind of clumsy with simplification -- there really isn't any
way to control built-in simplifications, short of disabling them
entirely. That's a serious design flaw IMNSHO.

best

Robert Dodier