>>>>> "Tom" == Tom Lord <xxxxxx@emf.net> writes: Tom> If the root set is large, certainly it should be traced in several Tom> steps, using barriers to preserve its invariants. Is there a practical example of a system that does this? It seems very difficult to do, even absent an FFI to C, as your typical root set---the current continuation---changes *all the time*. (I'm really curious. I could never wrap my mind around this.) In 1997, I developed the prototype for this FFI concurrently with hooking RScheme's incremental collector into Scheme 48, so there's some evidence that the FFI works with incremental collection in principle. Tom> Absent any further guidance from the FFI spec, I would expect some Tom> programs to register a very large number of locations -- and worse, Tom> locations scattered widely in memory -- using Tom> SCHEME_GC_PROTECT_GLOBAL. (Why wouldn't I, in a printed circuit board Tom> CAD program, GCPROtect a field of every C structure representing an Tom> edge in a netlist graph?) Because of what you just said? :-) -- Cheers =8-} Mike Friede, Völkerverständigung und überhaupt blabla