Here is a paper describing the program:
http://www.cs.berkeley.edu/~fateman/papers/graphing7.pdf
the paper claims the program is 217 lines long, but I can't find it
right now. However,
Ken Cheatham at Franz Inc, the vendor for Allegro Common Lisp, improved
upon it and
set it up as a tutorial for learning about the user interface.
The version from Ken, in 2002, is stored in
http://www.cs.berkeley.edu/~fateman/lisp/graphcode.lisp
and may still work, but if you want to experiment, I suggest you get
the current ACL version
and look at the tutorial there. One of the features of GUI-code is that
it tends to be a lot of
boiler plate, and so programs that support GUI-building also tend to
have programs that automatically
generate the boilerplate code. That is, a graphical interface where you
place pictures of widgets here and there,
and fill in the blanks, and out comes a program. ACL does that for you
in the GUI "IDE" (Interactive
Development Environment).
I understand that at least some other lisps have IDEs, but they probably
differ in important details.
The nice thing about GUI standards is that there are so many to choose from.
Linking from Lisp to gplot is a way to "make things work" but is
probably not the way to do interaction.
For example, with my graphing program, I can click on something on the
screen and trigger an arbitrary
lisp function. I can drag things around, change their color, delete
them, etc. And when I am happy with
the way things appear, I can take the data structure that is the
internal form of the display, and run more
lisp or maxima programs on it.
The particular task discussed in the paper above has to do with graph
layout. e.g. take the organization chart
of some company and automatically (or with human assistance) arrange it
so that it is easy to understand.
There are lots and lots of algorithms for this, and as mentioned in the
paper, competitions between programs
at annual conferences.
RJF
Sheldon Newhouse wrote:
> On 03/19/2010 10:01 AM, Richard Fateman wrote:
>> manipulates directed graphs interactively and/or by command from lisp.
>>
> Where is your program?
> Thanks,
> -sen
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima