On Jan 8, 2008, at 11:08 AM, Alex Mizrahi wrote:

IE> our learning.  My guess is that getting all this right can best be
IE> accomplished by rationally designing all the functionality from
IE> scratch, and rewrite the persistence protocol as necessary to
IE> accommodate the new design.

the way it was working before "the patches" seemed to be more-or-less
consistent to me.
at least it wasn't that confusing..

I think the problem is that initialize-instance gets called each time, so if you define an :after method on it for object creation time - for example that computes a specific slot value, then that code gets rerun on object re-initialization and clobbers any updates that happened in the meantime.

Please correct me folks if that isn't the experience or there are other issues too.

initialize-instance wasn't very pretty, but at least it was possible to make
it working as it should.
it seems reasonable to me that users who need distinguish initial creation
from re-creation can check this in their code and act accordingly.

separate generic function for transient initialization might look cleaner,
but it can seem more complicated to users..

Actually this would happen as expected. Objects loaded into memory would automatically get the initforms of the transient fields, unless they wanted to override the default by calling the special generic function.



_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to