[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue: DEFSTRUCT-REDEFINITION



Using the new terminology from the error/CLOS proposals, I would say that the
results of an old-use are undefined.

At the time the proposal was written, the new terminology wasn't around. I'm
looking for the copy of the new "error terminology" but I seem to have misfiled
it...

Xerox Common Lisp implements error-if-old-use: if a structure is redefined
*incompatibly*, old instances become invalid. An incompatible redefinition is
one that changes the number of slots or their type in an incompatible way (i.e.,
the total size or the layout of pointer vs. non-pointer fields changes.) A
warning message is printed if the underlying structure changes. 

We might want to at least reference the redefintion protocol of CLOS.

Skona: there's been several comments; are you up for producing a new version?

Thanks,

Larry