[gclist] Name that hypothesis
Henry G. Baker
Tue, 3 Dec 1996 12:12:09 -0800 (PST)
> At 12:40 PM 12/3/96 +0000, you wrote:
> >What is the name of the following hypothesis?
> > "Most references in a system point backwards in time, i.e. from
> > younger objects to older objects."
> >In the GC community we all know this, and many of us use it
> >frequently, but we don't seem to have agreed on a name for it.
> How about "We remember the past not the future hypothesis."
> This is part of something more general. Programmers tend to write
> functions that return objects. Once these objects are created they
> are rarely modified. So a constructor can put references to older
> objects in a new object but if you never modify the new object only
> pass it around as a value its references can only point backward.
> How about the "Functional programming is the norm, side effects the
> exception hypothesis."
> Charles Fiterman Geodesic Systems
Yes, 'functional programming style' is certainly a large part of the
reason. However, an additional distortion is created in languages like
Lisp where the implementation object isn't the right size for the abstract
object. In this case, you might have to have 7 CONS cells to hold the
pointers for one abstract object. The distortion would appear in one
way or another depending upon how the 7 CONS cells are allocated and
Also, if one has a copying collector, then after one collection the
collector itself will likely have wiped out any style-related artifacts
from the original creation.