[Armedbear-devel] How to get a fresh session or instance

Robert Dodier robert.dodier at gmail.com
Mon Jan 26 22:08:43 UTC 2015

On 2015-01-26, Mark Evenson <evenson at panix.com> wrote:

> Upon reflection, I think this abstraction of “multiple ABCL instances”, if
> improved, could help address some long standing problems with the ABCL
> implementation if we used this to, say actually go “back in time” to a given
> stack frame.  Need to think more…

My own interest in this question was inspired by a desire to get
something like the functionality of Un*x fork, namely to create
independent instances without having to start a new process and
load all the classes. It seems that "all" one has to do (scare
quotes since of course it's no easy task) is to identify all the
static data and replace it with a table of instance data.
The table presumably starts with a single instance and additional
instances could be created by copying existing instances or
creating them ex nihilo. I was thinking about how to create
handlers for web services in a way that prevents them from
stepping on each others toes.

Such a feature could be used to implement a roll-back function --
one would copy an instance and then continue to evaluate stuff
in one copy; to roll back would mean nuking the copy and going
back to the original. Just thinking out loud here.

Anyway in a sense this is an "easy" (Java-only) programming problem;
no enlightenment (i.e. comprehension of CLHS) required. 8^)


Robert Dodier

Armedbear-devel mailing list
Armedbear-devel at common-lisp.net

More information about the armedbear-devel mailing list