Model

BRIAN SPILSBURY zhivago@iglou.com
Sat, 10 May 1997 06:28:35 -0400 (EDT)


> > d) To make the most of persistence, you might well want to make threads
> >    persistent, which would be nice. If you don't have a persistent-byte layer
> >    to help here, good-luck. What this would mean is you could shut down
> >    and restart and your programs won't notice, except that simultaneously
> >    all their sockets to external machines may have closed, and the clock
> >    might jump a couple of hours. This would be nice.
> 
> Persistent continuations?
> 
> An "application" is inside a first-class environment, which also contains
> threads. When the application is "swapped out" (which occurs every now
> and then as a checkpointing measure, and also when all the threads in it
> die), it's surviving threads are frozen as continuations inside it,
> and the whole lot serialised away.

Well, that's fine if you want your space wrapped up into balls like
unix applications, I don't see that we necesarily need to go to this level.
 
Of course if you want a lisp system + a database then that's pretty much
the path you'll need to take, but if not, then this approach is more
complex and restrictive than it needs to be.

> An application with no live threads in it is useful, because other applications
> (such as the user agent) may send it messages at some point in the future
> to ask it to do something.

I would have to ask why the word 'application' has a special meaning here?
Why is it a special class of containership only that should have these
features?

Brian