This PR introduces several changes to the hash table module of SICL (in Code/Hash-tables):
Some small mistakes in methods specializing on list-hash-table were corrected,
The macro WITH-HASH-TABLE-ITERATOR's expansion was incorrect (because nested quasiquotation always requires more than one cup of tea) and was corrected,
The code in hash-table.lisp was rewritten to use standard classes and the provided generic functions, introducing the bucket-hash-table class (but it will not work as expected with tests EQ or EQL),
The function HASH-TABLE-TEST was renamed to %HASH-TABLE-TEST and replaced with a wrapper which ensures it returns a symbol for standardized test functions, and
The function MAKE-HASH-TABLE was created, which accepts the keyword argument :CLASS to create an instance of a class other than the default class (which is the value of SICL-HASH-TABLE:*DEFAULT-HASH-TABLE-CLASS*)
This PR introduces several changes to the hash table module of SICL (in
Code/Hash-tables
):list-hash-table
were corrected,WITH-HASH-TABLE-ITERATOR
's expansion was incorrect (because nested quasiquotation always requires more than one cup of tea) and was corrected,hash-table.lisp
was rewritten to use standard classes and the provided generic functions, introducing thebucket-hash-table
class (but it will not work as expected with tests EQ or EQL),HASH-TABLE-TEST
was renamed to%HASH-TABLE-TEST
and replaced with a wrapper which ensures it returns a symbol for standardized test functions, andMAKE-HASH-TABLE
was created, which accepts the keyword argument:CLASS
to create an instance of a class other than the default class (which is the value ofSICL-HASH-TABLE:*DEFAULT-HASH-TABLE-CLASS*
)