name: intern category: Data, Data Structures version: 0.9.1 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE author: Edward A. Kmett maintainer: Edward A. Kmett stability: experimental homepage: http://github.com/ekmett/intern/ bug-reports: http://github.com/ekmett/intern/issues copyright: Copyright (C) 2011 Edward A. Kmett build-type: Simple synopsis: Efficient hash-consing for arbitrary data types description: 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 extra-source-files: examples/Term.hs .travis.yml source-repository head type: git location: git://github.com/ekmett/intern.git library build-depends: base >= 4 && < 5, bytestring >= 0.9 && < 0.11, text == 0.11.*, hashable == 1.1.*, unordered-containers >= 0.2.1 && < 0.3, array >= 0.3 && < 0.5 exposed-modules: Data.Interned Data.Interned.ByteString Data.Interned.String Data.Interned.Text Data.Interned.IntSet Data.Interned.Internal Data.Interned.Internal.ByteString Data.Interned.Internal.String Data.Interned.Internal.Text ghc-options: -Wall