[racket] writing garbage collector in racket/scheme?
On Fri, Oct 08, 2010 at 11:49:27AM -0700, YC wrote:
> Hi all -
>
> I have a rather curious question - is it possible to write a garbage
> collector in a pointerless language such as racket/scheme?
It is necessary to limit the amount of dynamic storage the garbage
collector churns through by its own execution so that it is less than
the storage it manages to recycle.
If it manages to work only with live storage, and never examines dead
storage cells in any intensive way, it should work.
That said, you'll still need a mechanism to access the underlying
storage model.
I once wrote a garbage collector whose code was in the garbage-collected
heap. That is, the garbage collector managed to garbage-collect its own
code. If I had installed a new collector to replace the old one, the
new one would have freed the storage used by the old one's code.
(Actually, I should have done that as a test case...)
-- hendrik