From: Bill Birch
Subject: Just for Fun - Graphic Lisp
Date: 
Message-ID: <1993Sep15.034827.9886@tpg.tpg.oz.au>
Hi all,

Try it, it looks amazing!

Just for fun, last night I modified the RefLisp interpreter
to display all the conses and atoms on the screen of my
MS-DOS machine. 

Each object (except constants) is represented by a 2-d point with a color, 
and each reference (in a cons) has two lines joining the
car and cdr to the cons cell. conses inherit their colour
from their car. The new conses are placed midway between
the car and cdr, or if the these are constants, they're
placed vertically or horizontally near.

So a tree with 4 conses and 5 leaves can look something like:

	 /       |
	/________|
   /         |
  /       ___|____ 

The screen is updated every time a cons is created or destroyed
in "real" time.

It really is fascinating watching different Lisp programs running,
my favourite is bignum.lsp which calculates 2 to the power 300,
evaluation of rules is quite pretty too. One thing that is 
spooky, is that when source code is loaded, it's rectangular!

You can easily see code with do loops since the cell usage is
repetitive, heavily recursive code has "waves" which ebb and flow.

Anyhow, I thought I might pass this on to one and all. If you have an 
interpreter you can modify, _do_ try this. It really is fun too
see it all happen.


Bill