intern

Efficient hash-consing for arbitrary data types http://github.com/ekmett/intern/

Version on this page:0.9.2
LTS Haskell 12.22:0.9.2
Stackage Nightly 2018-12-10:0.9.2
Latest on Hackage:0.9.2

See all snapshots intern appears in

BSD3 licensed by Edward A. Kmett
Maintained by Edward A. Kmett

Module documentation for 0.9.2

There are no documented modules for this package.

intern

Hackage Build Status

Efficient hash-consing for arbitrary data types.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.

-Edward Kmett

Changes

0.9.2

  • Add a Semigroup IntSet instance.

0.9

  • Removed identity from the Interned class, to support applications where the identity is obtained by other means (e.g. a unique Ptr value)

0.8

  • Disabled cache removal as it was causing problems on large data sets. There is no good way to ensure that both references remain alive long enough to finish comparisons.
  • Switched to IORef from MVar

0.7

  • Fixed problem where comparisons could happen between data structures while one was still a thunk, leading to equal structures comparing as inequal in limited circumstances, by appropriately using strictness annotations.

0.6

  • Widened the caches so they don’t go through a single MVar per type. This has made a dramatic impact on performance. However, this broke the previous invariant that newer entries always had higher Ids than older entries.

0.5.2

  • Added Data.Interned.IntSet
comments powered byDisqus