[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Lisp GUI libraries and a UI for Axiom

From: Bob McElrath
Subject: Re: [Axiom-developer] Lisp GUI libraries and a UI for Axiom
Date: Thu, 7 Sep 2006 09:17:25 -0700
User-agent: Mutt/1.5.11+cvs20060403

As far as drawing graphs, why not just dump out a graph in any kind of
portable format (e.g. postscript, pdf, svg, etc).  A front-end can parse
it and display it.  There are many relevant lisp libraries:

Kai Kaminski address@hidden wrote:
> Now that I've presented a list of Lisp GUI libraries, let me argue
> that it is irrelevant. 
> I do not see any reason why a GUI for Axiom has to be written in
> Lisp. Why not write a GUI for Axiom in Python or Java or C++? Why does
> every GUI have to be portable? Why should there be only one GUI or
> even a canonical GUI anyway?
> Different people will want different GUIs. Tim Daly prefers a 'bare'
> Emacs with all buffers in Fundamental Mode, whereas I love my Slime
> and all the other bells and whistles. Martin Rubey wants to edit his
> pamphlets using Emacs, other people can't stand Emacs. Some of the
> latter sold their souls to the VI gods, others really want fancy
> graphics and icons and toolbars. Finally some people prefer a portable
> GUI, whereas others want really tight integration with their OS of
> choice.
> Trying to provide a single GUI making all these people happy is futile
> at best, probably insane and certainly an awful lot of work.
> The solution is to separate the GUI from the Axiom core and make GUI
> programming easier. The former is pretty easy, just get rid of the GUI
> code in $AXIOM/src. That would also get rid of most of the C code and
> thereby improve portability of the core. Making GUI programming easier
> is a lot more work.
> For a GUI to be more useful than an Axiom terminal session, it needs
> to be able to understand Axiom's output to some extent. It also needs the 
> ability to
> query Axiom for all kinds of information, eg
> - list all existing variables/functions/types/commands/loaded libraries/etc
> - list all functions/commands that are either of a given type or applicable 
> to a given object
> - where is the documentation for this library/function/command/etc?
> - where is the source code for a given function?
> - show me all functions/libraries that call/are called by function/library X
> - in debugging mode: supply a stack trace
> Create an API that supports this kind of functionality and future
> versions of itself, and make it available over a socket using a simple
> (in every programming language) clear-text protocol. Done. Sooner or
> later someone will write a GUI then.

Bob McElrath [Univ. of California at Davis, Department of Physics]

    Somewhere, something incredible is waiting to be known. - Carl Sagan

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]