Standardize hash tables on SRFI-69 names and deprecate others.
authorChris Hanson <org/chris-hanson/cph>
Mon, 23 Apr 2018 06:34:31 +0000 (23:34 -0700)
committerChris Hanson <org/chris-hanson/cph>
Mon, 23 Apr 2018 06:34:31 +0000 (23:34 -0700)
commit8d66b76a32561d34e06bd0c72396b8a0918bb598
tree0e303abc14aec030111e79ab18b5632fe702b9da
parent6e0bb5208e946d950c48f043791dba4d83411175
Standardize hash tables on SRFI-69 names and deprecate others.

Change make-hash-table to be smarter about choosing the appropriate hash
function for a given equality predicate.

Also work around name collisions in rtlopt/rcse*.scm, and tweak the hash-table
implementation to favor SRFI-69.

Some work remains: the code around building hash-table types needs to be
re-thought: it's a little clunky and could usefully take advantage of keyword
arguments.  (These keyword arguments should also be supported by
make-hash-table.)  The hash function should be optional and use the
equality-predicate default.  The older %make-hash-table should be renamed and
exported as it's the right interface when using types.
65 files changed:
src/compiler/back/symtab.scm
src/compiler/back/syntax.scm
src/compiler/base/infnew.scm
src/compiler/machines/C/decls.scm
src/compiler/machines/C/stackify.scm
src/compiler/machines/i386/decls.scm
src/compiler/machines/i386/lapopt.scm
src/compiler/machines/svm/assembler-runtime.scm
src/compiler/machines/svm/decls.scm
src/compiler/machines/x86-64/decls.scm
src/compiler/machines/x86-64/lapopt.scm
src/compiler/rtlbase/rtlcon.scm
src/compiler/rtlbase/rtlobj.scm
src/compiler/rtlgen/opncod.scm
src/compiler/rtlopt/rcse1.scm
src/compiler/rtlopt/rcse2.scm
src/compiler/rtlopt/rcseht.scm
src/compiler/rtlopt/rerite.scm
src/edwin/abbrev.scm
src/edwin/comman.scm
src/edwin/curren.scm
src/edwin/edtstr.scm
src/edwin/eystep.scm
src/edwin/nntp.scm
src/edwin/prompt.scm
src/edwin/rcsparse.scm
src/edwin/snr.scm
src/edwin/utils.scm
src/edwin/win32.scm
src/edwin/xterm.scm
src/imail/imail-core.scm
src/imail/imail-file.scm
src/imail/imail-imap.scm
src/imail/imail-mime.scm
src/imail/imail-top.scm
src/runtime/hash-table.scm
src/runtime/hash.scm
src/runtime/host-adapter.scm
src/runtime/memoizer.scm
src/runtime/runtime.pkg
src/runtime/sfile.scm
src/runtime/stack-sample.scm
src/runtime/string.scm
src/runtime/swank.scm
src/runtime/syntax-rename.scm
src/runtime/unxprm.scm
src/runtime/url.scm
src/sos/class.scm
src/ssp/mod-lisp.scm
src/ssp/xhtml-expander.scm
src/ssp/xmlrpc.scm
src/star-parser/matcher.scm
src/star-parser/parser.scm
src/star-parser/shared.scm
src/win32/win_ffi.scm
src/x11-screen/x11-screen.scm
src/xdoc/validate-xdoc.scm
src/xdoc/xdoc.scm
src/xml/rdf-struct.scm
src/xml/turtle.scm
src/xml/xhtml-entities.scm
src/xml/xhtml.scm
src/xml/xml-names.scm
tests/runtime/test-boyer-moore.scm
tests/runtime/test-hash-table.scm