re: front & back end communication / was GUI ...



--- Richard Fateman <fateman@cs.berkeley.edu> wrote:
> My suggestion is to look at the (large) macsyma front
> end description which probably says what is done for
> macsyma in enough detail to resolve some of these questions.
> The author of the front end knew a lot about macsyma
> and also user interface design.

I'll take a look at it.

> I THINK, but am not sure, that there are a set of
> parameters of concern to the front end. When they are
> altered then their new values are communicated to the front
> end. The front end does not know the values of all macsyma
> variables.

Hmm.  OK.  One possibility might be for the front end to "flag" things
in the kernel it wants to be notified about.  Than a package including
a GUI component could "flag" the things it defines as relevant to the
GUI.

>   There are also issues of saving values (e.g. does user X
> prefer output display to be in a particular color or size)
> in some registry.

On Linux at least, that traditionally is handled by a hidden file in
the user directory.  That shouldn't be too hard - when the program is
closed, write new values of various settings to .maxima/guiconfig or
something like that.  It can be in the same directory with the user
init files.  Something similar can be done on Windows, although I don't
think the location of the file is quite so well defined.

> Of course the front end must also be able to communicate
> "stop this computation"  "load a new kernel"  "start a new
> workbook" "save the display to a file" etc etc.

The "stop this computation" issue is the only really serious one that
has me worried about using a single Lisp image - if the computation
goes out of control, you want a way to graphically tell the kernel to
drop the computation, and I don't see how you could do that without
threads. 
 
>    Anyone interested enough in this problem to write more
> code should look at the documentation sooner rather than
> later, on the off chance that Macsyma inc would change
> its preferences on posting of their material.

I've got a copy of it.

CY

__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com