On Tue, Feb 23, 2010 at 11:46 AM, Robert Dodier <robert.dodier at gmail.com>wrote:
> I think I'm against it.
Rationale?
> I'd prefer that assumptions not leak out of integrate (or other functions).
>
Using the word 'leak' (normally considered a bad thing in plumbing at least)
prejudges the issue. For that matter, thinking of the assumptions as
"happening inside of integrate" is thinking in terms of the implementation,
not the user's view of the system.
When Maxima asks the user a question, the user does not know what caused
that question to be asked, or the context it is in. So in a scenario like:
integrate(...a...) + integrate(...a...) -- a is some parameter
Is a positive, negative, or zero?
was it the first or the second integral that triggered the question?
And do we want it to be the case that the question is asked twice, with
different results?
integrate(...a...) + integrate(...a...) -- a is some parameter
Is a positive, negative, or zero? POS
Is a positive, negative, or zero? NEG
Even if the user can guess that the two questions are coming from two
invocations of integrate, the user cannot know which is which, since
simplification and other processes may have changed the order.
There are certainly cases where you want different values of a for different
evaluations within the same command line -- but those are sophisticated
cases where the user is going to have to understand about contexts anyway.
-s