[gclist] gc interface

Charles Fiterman cef@geode.geodesic.com
Tue, 2 Apr 1996 07:58:08 -0600


I have a few disagreements.

First finalization should not be encapsulated with garbage collection!
Garbage collection deletes objects when they can have no further effect
on execution. Finalization effects execution. So for the Garbage collector
to call a finalizer is deeply wrong. Garbage collectors run lazily if
at all and need to be efficient. Finalizers need to be prompt and sure.

Reference counting looks like the right way of organizing finalizers but
the question of how to deal with cycles, prevention, reporting is open
and looks like a job for a reflexive language. For example a user might 
be able to prevent cycles by some ordering discipline not availible to a
language designer. There might be a market for finalizer tools etc.

Collector objects need methods to 
 1) return their length.
 2) mark the objects they need.

Pool questions should be hidden from the user.

Collectors need methods for 
 1) Running a collection.
 2) Running a collection subject to interruption.
 3) Reporting statistics.