?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