Mon, 19 May 1997 23:08:53 -0400 (EDT)
> 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.
> I'll rephrase my position so it's immune to the extreme case you cite.
> Versioning should be supported for any object that has a named reference
> to it at a very low level.
Maybe the versioning should be in the name then.
> Having such a facility supported at the lowest level may facilitate such
> wonders as flexible tracing and reversible execution. It should not be
> regarded as a "cost" and done away with frivolously, or deferred to a
> high application level.
If the versioning is only supported for objects which are directly
referred to with a symbol you won't get reversible execution.
For that you'll need versioning on every atom.
On the other hand, this could be nice, but in limited scopes...
Apart from that, if you're going to have high-level versioning it
should be an api/under-app-control, if you're going to have low level,
it probably should be pervasive