Hi, I would like to present a simple concept "ObjectSpaces": grouping all objects inside an objectspace, each time that we send a message to another OS each of the OSes will intercept the message.
The first usage for me was for process isolation and having a way to know to what process objects belong. But we could use them as a security layer between each isolated processes (in the sence of unix not threads), we can use them as a recursive definition of process (a process inside a proces inside a ... ;-) I've made a prototype where I use them as sandbox and actor model by using the fact that a Space intercept the messages. We could use them as a reflective boxes (a la metaxa or metajava). I guess we could use them as kind of transactional worlds (i.e. Worlds: Controlling the Scope of Side Effects http://lambda-the-ultimate.org/node/3040). Another usage is to scope of the reflection to a space I've made a prototype of it too you couldn't get all the external instances (that belong to another space) of a class. And I guess there are much more possibilities ;-) I've in mind a module system, ... I've made several implementation of the OSes the most advanced had multiple object tables and threaded interpreter but there were too much bugs inside it ^^ But that was funny to do. The most recent puts an hidden instance variable inside each objects (which is fine for a prototype implementation) Cheers, Gwen _______________________________________________ help-smalltalk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-smalltalk
