intern: Efficient hash-consing for arbitrary data types

[ bsd3, data, data-structures, library ] [ Propose Tags ]

Changes from 0.8 to 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)

Changes from 0.7 to 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

Changes from 0.6 to 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.

Efficient hash-consing for arbitrary data types

Changes from 0.5.2 to 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.

Changes from 0.5.1 to 0.5.2

  • Added Data.Interned.IntSet

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.2.0, 0.2.2, 0.2.2.1, 0.3.0, 0.4.0, 0.5.0, 0.5.1, 0.5.1.1, 0.5.2, 0.6, 0.8, 0.8.0.1, 0.9, 0.9.0.1, 0.9.1, 0.9.1.1, 0.9.1.2, 0.9.1.3, 0.9.1.4, 0.9.2, 0.9.3, 0.9.4, 0.9.5
Dependencies array (>=0.3 && <0.5), base (>=4 && <5), bytestring (>=0.9 && <0.11), hashable (>=1.1 && <1.3), text (>=0.11 && <1.2), unordered-containers (>=0.2.1 && <0.3) [details]
License BSD-3-Clause
Copyright Copyright (C) 2011 Edward A. Kmett
Author Edward A. Kmett
Maintainer Edward A. Kmett <ekmett@gmail.com>
Category Data, Data Structures
Home page http://github.com/ekmett/intern/
Bug tracker http://github.com/ekmett/intern/issues
Source repo head: git clone git://github.com/ekmett/intern.git
Uploaded by EdwardKmett at 2013-12-09T05:30:45Z
Distributions Debian:0.9.4, LTSHaskell:0.9.5, NixOS:0.9.5, Stackage:0.9.5
Reverse Dependencies 17 direct, 199 indirect [details]
Downloads 25169 total (86 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]