Maxima - new GUI



The ideal CAS would allow clean separation of the mathematical engine
and the user interface.  By user interface, I do not mean only
input/output of commands, formulas, and graphs but also the
*organization* of the user experience.  For example, you might want to
have on your screen simultaneously two cases of a solution, one for
a>0 and the other for a<=0.  When you worked within one case or the
other, the appropriate assumptions about a would be made*.  Or you
might want to take some calculation you made previously and re-run it
with different assumptions -- all in the same problem solving
environment.

Maxima is not very good at that sort of thing.  It has gestures
towards contexts and all that, but it still is rather strongly tied to
the linear %i1/%o2 interaction style, with many options either
completely global (from here on) or completely local (only apply to
the current %i/%o context).  It really wants to be able to interact
with the user at its pleasure (is x pos neg or zero?) and it not
disciplined about handling error/exception cases in a way that is easy
to interface to other systems.

All of this can be fixed, of course, ... just a small matter of
programming ... and a somewhat larger matter of thinking/designing.

           -s

*For that matter, there are assumptions that Maxima makes
*implicitly*, which really should carry along with the calculation. 
The mathematical engine should really report these back somehow (no
way to do it now), and the UI should be able to carry them along.