Changelog for hashtables-1.4.0

Hashtables changelog

1.4.0

Replace deprecated Mutable Array function, which modifies the signature of the length function and hence the API. Support more recent compilers.

1.3.1

Fix Noncanonical mappend definition warning. Support more recent compilers.

1.3

Support Hashable 1.4. This new version of Hashable drops the Eq constraint, so the Eq constraint needs to be dropped in the SPECIALIZE statements in Hashtables.

1.2.4.2

Cabal file: add missing other-modules Silence import warnings. Know that we require ghc >= 7.8. Fix build with GHC 9.2

1.2.4.1

Update some test suite dep upper bounds.

1.2.4.0

1.2.3.4

Fix build with GHC 8.8.

1.2.3.3

Fix build with certain versions of primitive (thx again Carter)

1.2.3.2

1.2.3.1

1.2.3.0

1.2.2.1

1.2.2.0

Thanks to contributors:

1.2.1.1

1.2.1.0

1.2.0.2

1.2.0.1

1.2.0.0

Switch to smaller hash codes to go faster and save space.

Before, in the basic and cuckoo hash tables, we were storing full machine-word-sized hash codes in the table so that we could quickly search a whole cache line for a key (or a combination of keys) without branching.

It turns out that a full machine word is not really necessary for this application; switching to a 16-bit key will very slightly increase the number of hash collisions within buckets (meaning that we'll compare more keys), but will pay big dividends in terms of:

Other

1.1.2.1

1.1.2.0

1.1.0.2

1.1.0.1

1.1.0.0

1.0.1.8

Bump vector and primitive dependencies.

1.0.1.7

Fix bug in C FFI code (not correctly promoting CInt to Int).

1.0.1.6

Fix for benchmark suite .cabal file.

1.0.1.5

Added benchmark suite.

1.0.1.4

Bump test-framework dependency.

1.0.1.3

Bump testsuite dependencies.

1.0.1.2

Fix testsuite on Windows.

1.0.1.1

Build fix for Windows.

1.0.1.0

Bugfix for http://github.com/gregorycollins/hashtables/issues/1 (Basic.lookup loops).