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