On 2015-01-26, Mark Evenson evenson@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^)
best,
Robert Dodier
_______________________________________________ Armedbear-devel mailing list Armedbear-devel@common-lisp.net http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel