Interned symbols (and their symbol names), and packages, are treated in a special way, because they are assumed to have a long life. They are allocated in the generation specified by the variable
, which has the initial value 2 in 32-bit LispWorks and 3 in 64-bit LispWorks.
Symbols created with
start out in generation 0.
Symbols will be garbage collected if they are no longer accessible (regardless of property lists) but note that in 32-bit LispWorks, if the symbols are in generation 2 then you might need to invoke
explicitly to collect them in a timely manner.