This means that the load of memory management is evenly distributed on all phases of computing, thus avoiding the dreadful garbage collection pauses. But, since reference count memory management doesn't work with circular lists, no WOOL function allows the user to do physical replacements on lists 4 . We do not really need the generality of the chained cells model, since we do not want to have circular lists. In classical lisp dialects, you can give a variable and a function the same name without conflict. In WOOL , an atom can only have one value.
WOOL alas lacks lots of features from real lisps, for the sake of small footprint.
But the WOOL code accounts for about 50k of the total text size of 150k of GWM . There is no limit on the length of atom names. Active values are just like other atoms, but setting and evaluating them trigger specific functions to allow for greater expressive power. Like active values, they can be used as variables or functions. For instance, the most useful namespace is the screen.