SilkScript example

Alaric B. Williams
Fri, 2 May 1997 22:27:41 +0000

On  1 May 97 at 17:32, wrote:
> > That request gets sent to the LispM, which interprets it, steps the
> > programs, captures the output, and sends an ENTIRE new page for my
> > browser to display, almost all (except the last line!) is a repeat of
> Sure it is not optimal, but it gets the job done.
> Which would you rather have:
>  1. Works, but isn't optimal  
>  2. Optimal, but isn't available

I think Kelly has a good point here, but so does whoever it was who said
that the pageness is a problem!

I don't know everything (nor even much) about how Java works in a
browser window, but might there be some value (at a cost of backwards
compatability) in having the HTTP server respond to URLs with template
pages containing an invocation of a standard JAVA applet that is, basically,
something like an X server, with the page containing a port number
for the actual LISP application, which then converses with the "X server"

There is a good case for migrating code the the client end. Here is how
I would do it.

The Java applet (or OCX, BTW) contains a tiny, minimal, LISPy interpreter
with a good module system. It also contains a timing loop to measure
the local system's approximate execution speed, which it sends to 
the other end when starting the connection. The LISP system at the
other compares this to it's own speed, and considers the many tradeoffs
of what to run where - bits of the application (how are these "bits" divided?
Dunno yet!) are tagged with some measure of their priorities (interaction
or staying close to the hosting environment), so the system chooses
what to put at each end. Now, the module system uses a nice http-based
method of getting and caching modules, which is why the LISP system
can be so tiny; all the functionality is out in modules, which are
grabbed on demand, and updated automatically.

The application need never know which end it's really running at.

> -kelly
Alaric B. Williams (

   ---<## OpenDOS FAQ ##>---

Plain HTML:

Fancy HTML: