[elephant-devel] Status of Leslie's question and Sean's patch?

Leslie P. Polzer leslie.polzer at gmx.net
Fri Dec 21 13:03:50 UTC 2007


Hi Ian,

thanks for making it clear. Of course, I guessed this and the Elephant code
I looked at didn't say otherwise, but you're knowledge is obviously greater.

> The right user approach is to provide a function to walk over
> instances and update their representation or zero them out.  Other
> than an assertion on deserialization or a general warning on type
> change, I can't think of a really useful default policy.

I can, sort of: Elephant should offer an easily usable facility
to specify what should happen when the types don't match, something like

(defmethod elephant:convert-slot ((from pic) (to string)))

which is pretty much exactly what convert-class is for, so we might just use this.
Wouldn't it suffice to just do

START) type changed? [this decision should be based on the :type slot-initarg]
   Yes: call convert-class
    No: simple assignment


> Have you tried this and seen what happens?

Neither warning nor error, just assignment of the old data.


> What Lisp are you using?

I'm using SBCL/Linux/x86.

This functionality is important IMHO; without it, sensible Lisp-style Rapid Prototyping
is hardly possible when one needs to call map-root everytime something changes.

  Leslie

-- 
My personal blog: http://blog.viridian-project.de/




More information about the elephant-devel mailing list