[elephant-devel] Re: recreate-instance-using-class

Ian Eslick eslick at csail.mit.edu
Tue Jan 8 16:24:08 UTC 2008


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 at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel




More information about the elephant-devel mailing list