Maxima GUI in Common Lisp



?iga Lenar?i? wrote:
> Hi!
>
> I have been researching possibilities for 'the ultimate Maxima GUI'.  
> These are my findings:
>
> *) It should be written in Common Lisp - this would allow the GUI to  
> interact directly with the Maxima kernel.
That is what the original user interface used, but that was kind of 
primitive.
The next major version of the user interface was on the Lisp Machine, 
and that was in Lisp too.
That included, I think, pointing and selecting, menus, etc.

One problem has been that ANSI CL does not specify the elaborate hooks 
needed for the GUI. Nevertheless,  it is relatively easy to take ONE 
implementation of CL and ONE operating system and build a nice 
interface, at least if you have those hooks and some multiprocessing to 
remain responsive to user input while computing.
  As soon as you demand ALL CL implementations on ALL operating systems 
then you end up with the situation we have now with Maxima, of 
separating the "math engine" from the display.

Another problem is that people get enthusiastic about building the GUI 
and don't want to know about Lisp (or even much about math!) and so this 
layered view suits them better than Lisp implementation.

It may be the case (though less so today) that people needed faster GUI 
code than could be written in Lisp.

>  This is the biggest  
> limitation of wxMaxima - it communicates with Maxima basicly as if a  
> user would type in commands. 
>   
..snip..
Unless all the CL implementations have open-GL bindings, this proposal 
will be vetoed by some people. I do not share this view that everything 
has to work everywhere this way.

I personally have written programs that do things like input directed 
graphs and edit them with a mouse and keyboard, all in Lisp, with the 
potential to hook them up to Maxima.  But I wrote using Allegro common 
lisp (free trial, not open source), on Windows.

Getting a superb GUI on Windows for a particular Lisp would probably 
cover 90% of Maxima users or more. (According to Gartner group, 95% of 
all PCs run Windows, 3% MacOS, 2% Linux)


RJF