What is a ``reflective'' system?

Bill House bhouse@dazsi.com
Sun, 11 May 1997 11:31:22 -0700

> The big problem with this idea (making a Lisp Assembler which assembles to
> a LispVM) is that the system is not fully 'reflective', the LispVM could
> not be defined in terms of it.  Using a Scheme/Lisp->C compiler to try to
> write the lowest level stuff still means that the GC, Virtual Memory and
> some other low-level stuff will be written in C.
This reflects the point that LispVM is going to target the existing Web client
platforms, providing a place for Lisp and Scheme apps to run outside of LispOS.
As long as there is binary portability and runtime interoperability between
LispOS and remote LispVMs, then what VMs end up as under LispOS is a bit of a
separate issue, and one that has yet to be clearly defined and agreed to. 

As to how VMs play in LispOS, I liked the idea someone (was it Alaric?) had
about VMs being first class objects under LispOS -- this would be great for

Consider a roving LispVM agent, gathering data by migrating between client
workstations and non-LispOS Web servers. Whenever the roving agent needed to,
it could instantiate another VM object on the LispOS server and have it execute
some expensive process, concurrent with all the other things it might be doing.
 I could think of a few applications for that. <g>

I'd also like to see some objects for managing roving agents built. A roving
agents manager could do things like track the agents that had been sent forth,
ping the agents, display their whereabouts, and for debugging, being able to
inspect a log of interactions between the agent and LispOS. Having these kinds
of things provided with LispOS/LispVM would give people an added incentive to
use the platform.

> -Jordan Henderson
> jordan@neosoft.com

Bill House
The views expressed are mine alone,
unless you agree with me.