3.9 Problem: GC
Consider the language of stored binary trees:
(define-language L [V number (cons σ σ)] [Σ ([σ V] ...)] [σ variable-not-otherwise-mentioned])
Design the -->gc reduction relation, which implements garbage
collection. The -->gc reduction relation operates on a
configuration that combines the store Σ, a set of “gray”
addresses, i.e., σs) to be explored (the addresses of the
initially reachable objects, also called roots, plus a set of “black”
addresses (initially empty). Each step operates on one gray address,
adjusting the gray and black sets based on the address’s value in the
store. No more steps are possible when the set of gray addresses goes
empty, at which point every address not in the black list can be pruned
from the store.