• mevenson@1c010e3e-69d0-11dd-93a8-456734b0d56f's avatar
    Implementation of hashtables with weak keys and/or values. · bd90e2da
    MAKE-HASH-TABLE now has an optional :WEAKNESS argument that can take
    the values :KEY, :VALUE, :KEY-AND-VALUE, or :KEY-OR-VALUE.  :KEY means
    that the key of an entry must be live to guarantee that the entry is
    preserved. VALUE means that the value of an entry must be live to
    guarantee that the entry is preserved.  :KEY-AND-VALUE means that both
    the key and the value must be live to guarantee that the entry is
    preserved.  :KEY-OR-VALUE means that either the key or the value must
    be live to guarantee that the entry is preserved.
    
    The tests simply excercise the various types of weak hash tables
    enough that a GC phase should show that the table indeed does decrease
    in size.
    
    Changed the defition of functions in HashTableFunctions to match
    current docstring/pf_XXX() naming conventions.
    
    This implementation is only lightly tested in single-threaded use, and
    untested in multiple threading scenarios.
    
    Addresses ticket:140.
    bd90e2da