Maxima - new GUI



Michael Reimpell wrote:

>I'm happy someone started a GUI project without relying on maximas latex 
>representation. In fact, using the 1D-output seems to be the only reasonable 
>way to implement copy and paste actions from parts of the output into a new 
>input line.
>
I agree.  There are at least these representations available:
1. the internal lisp version as a text string.  e.g.  ((MPLUS SIMP) $X 
$Y) or as a data structure if you are still in lisp.
2. the formatted version, also in lisp, that  changes stuff like   
a*b^(-1)  into  a/b  for pre-display consideration
3. the layout version (which does line breaking and knows how long names 
are)
4. the text string as a command, e.g.    X+Y;
5. the text string as a LaTex command.

Mathematica, and the commercial Macsyma front end appear to use #4. 
TexMacs appears to use #5.
I think that, suitably enhanced for a larger, variable-sized character 
set, #3 is probably better, since
it has full access to all the information in the maxima system, instead 
of just the stuff that
was programmed in python (or C++ or ....)  in the front end.

Of course this perspective is from the computer algebra system.  If what 
you are building
is primarily a GUI for (say) maxima, tex, matlab, GAP, web browsers, 
search engines, ... etc
and maxima is just a specialized client for a small percentage of users, 
then the GUI
arguably should be the boss.  The usual downside of this is that some 
things are either
impossible or very very hard to do.  (The lisp code shows very 
explicitly what expressions
are subexpressions of others. Do we really need to re-parse?    )

RJF


>The second good news is that it is not written in Lisp, so that the 
>interaction to the maxima kernel is somewhat more bound to a clear interface. 
>
This is questionable, given that the front end has a duplicate parser 
for the macsyma input language,
written in python.

>Maybe someday a controller class can interact with the maxima kernel without 
>changing the line numbers all the time...
>
>If it's going to strictly require KDE, you may want to have a look at KFormula 
>from the KOffice project. It provides 2D input and output widgets for math 
>you may want to utilize.
>
Since Qt requires a license for the Windows environment, the project 
suddenly becomes
much less interesting.

>
>  
>
>>I
>>