On multi-threaded list-processing and garbage collection
Wolfgang Kuechlin, Nicholas Nevin · 2002
The authors discuss the problem of parallel list-processing and garbage collection in an environment based on lightweight processes (threads). Their main insight is that the threads paradigm suggests a heap memory layout and garbage collection technique which is quite different from existing Lisp and Prolog systems. They introduce a hierarchy of fork constructs and a memory structure which support new garbage collection schemes which are local to threads. For example, the new technique of preventive garbage collection can recover all intermediate list memory used by a function at the small expense of copying its output parameters.>