Refactor hash-table to clean up some issues noted in previous change.
authorChris Hanson <org/chris-hanson/cph>
Wed, 25 Apr 2018 03:50:37 +0000 (20:50 -0700)
committerChris Hanson <org/chris-hanson/cph>
Wed, 25 Apr 2018 04:01:50 +0000 (21:01 -0700)
commitcfaac050780b33fb8b8966376d9c2d32c59c059b
tree7efe77ce85987759cefd7e297162c9c8c95a404c
parentc9ef69744bb153ac62958d19e8cbe23bc9510544
Refactor hash-table to clean up some issues noted in previous change.

* Export former %make-hash-table as make-hash-table*.

* Create new make-hash-table-type* which can create a type given an equality
  predicate and some keyword options.  If the equality predicate has registered
  properties, no additional options may be necessary, except perhaps to choose
  the entry type (which is specified by name).

* Change make-hash-table to accept the same options as make-hash-table-type* and
  to use the same defaulting.

* Change internal procedure follow-memo-crap to hash-metadata, which more
  accurately reflects its purpose: to get a properties table for the primary
  hash parameters.
src/runtime/hash-table.scm
src/runtime/runtime.pkg