---------------------------------------------------------------- -- wren ng thornton ~ 2010.11.12 ---------------------------------------------------------------- Name: bytestring-trie Version: 0.2.3 -- Source-Repository requires version 1.6 Cabal-Version: >= 1.6 Build-Type: Simple Stability: provisional Copyright: Copyright (c) 2008--2011 wren ng thornton License: BSD3 License-File: LICENSE Author: wren ng thornton Maintainer: wren@community.haskell.org Homepage: http://code.haskell.org/~wren/ Category: Data, Data Structures Synopsis: An efficient finite map from (byte)strings to values. Description: An efficient finite map from (byte)strings to values. . The implementation is based on big-endian patricia trees, like "Data.IntMap". We first trie on the elements of "Data.ByteString" and then trie on the big-endian bit representation of those elements. Patricia trees have efficient algorithms for union and other merging operations, but they're also quick for lookups and insertions. . If you are only interested in being able to associate strings to values, then you may prefer the @hashmap@ package which is faster for those only needing a map-like structure. This package is intended for those who need the extra capabilities that a trie-like structure can offer (e.g., structure sharing to reduce memory costs for highly redundant keys, taking the submap of all keys with a given prefix, contextual mapping, extracting the minimum and maximum keys, etc.) Source-Repository head Type: darcs Location: http://community.haskell.org/~wren/bytestring-trie ---------------------------------------------------------------- Flag base4 Default: True Description: base-4.0 emits "Prelude deprecated" messages in order to get people to be explicit about which version of base they use. Flag useCinternal Default: False Description: Use optimized C implementation for indexOfDifference. See notes in Data.Trie.ByteStringInternal. Flag applicativeInBase Default: True Description: Applicative functors were added in base-2.0 Flag bytestringInBase Default: False Description: The bytestring library was included in base-2.0 and base-2.1.1, but for base-1.0 and base-3.0 it was a separate package ---------------------------------------------------------------- Library Hs-Source-Dirs: src Exposed-Modules: Data.Trie , Data.Trie.Internal , Data.Trie.Convenience Other-Modules: Data.Trie.BitTwiddle , Data.Trie.ByteStringInternal , Data.Trie.Errors Build-Depends: binary -- I think this is all that needs doing to get rid of the warnings? -- BUG: looks like it's not enough if flag(base4) Build-Depends: base >= 4 && < 5 else Build-Depends: base < 4 if flag(bytestringInBase) Build-Depends: base >= 2.0 && < 2.2 else Build-Depends: base < 2.0 || >= 3, bytestring if flag(applicativeInBase) Build-Depends: base >= 2.0 Cpp-Options: -DAPPLICATIVE_IN_BASE -- BUG (Cabal 1.2 + Haddock): enable for Haddock, disable -- for Hackage. Fixed in Cabal 1.6 --Ghc-Options: -DAPPLICATIVE_IN_BASE else Build-Depends: base < 2.0 if flag(useCinternal) C-Sources: src/Data/Trie/ByteStringInternal/indexOfDifference.c CC-Options: -O3 Cpp-Options: -D__USE_C_INTERNAL__ -- Also need to add stuff to run Configure.hs, FWIW ---------------------------------------------------------------- ----------------------------------------------------------- fin.