Will Hartung <firstname.lastname@example.org> wrote:
| email@example.com writes:
| >Does anybody knows where can I get detailed description of a Lisp/Scheme
| >garbage collection algorithm?
| Take a look at SIOD. It has a pretty straightforward GC. In fact, I
| believe it has TWO of them, but one only works at the toplevel.
| The GC that runs only at the top level is, I think, a mark-and-sweep
| algortihm, and the one that works "all the time" copies living objects
| from Heap A to Heap B, then flushes Heap A. I don't recall what kind
| of GC algorithm is called. Naively, I'd say it's a "copying" GC.
Actually, it's the other way around... SIOD's "stop & copy" GC is
the one that only works at the top level, and its "mark & sweep" GC
is the one than can run any time. For the sources, see:
You may also want to look at the Boehm-Demers-Weiser conservative GC:
which has been used by several Scheme implementations (e.g., MzScheme).
And if you have lots of time for reading, here's a mess of useful links:
Rob Warnock, 7L-551 firstname.lastname@example.org http://reality.sgi.com/rpw3/
Silicon Graphics, Inc. Phone: 650-933-1673 [New area code!]
2011 N. Shoreline Blvd. FAX: 650-933-4392
Mountain View, CA 94043 PP-ASEL-IA