Tue, 20 May 1997 21:21:04 -0500 (CDT)
BRIAN SPILSBURY wrote:
> I wrote:
> > It doesn't make sense, of course, to turn off versioning for individual
> > cons cells that aren't referred to by symbols, because you'd have no
> > way to refer to the cons cell in the first place to specify the new
> > versioning parameters.
> Um, the only cells you can't refer to are garbage.
Well, technically this is true. Although you could apply a set-version-limit
primitive to any cons-cell, it hardly makes sense to do it to something that
you won't be able to refer to directly later to actually >make< a new
version of it.
(set-version-limit '(a . b) 3 )
Is a possible invocation of set-version-limit, but as '(a . b) will
probably soon be garbage it's hardly sensible. Well, if (set-version-limit)
returned it's argument, then you could do a setf on the result, thus
changing '(a . b), but this is a contrived example. I still think it
doesn't make much sense on having versioning on something that can't
be referred to by name.
The exception would be that possibility for reversible execution that you
mentioned. I guess in those limited contexts you might want versioning on