----------------------------------------------------------------
-- wren gayle romano <wren@cpan.org> ~ 2021.11.14
----------------------------------------------------------------
-- Cabal >=1.10 is required by Hackage.
Cabal-Version: >= 1.10
Build-Type: Simple
Name: bytestring-trie
Version: 0.2.6
Stability: provisional
Homepage: https://wrengr.org/software/hackage.html
Bug-Reports: https://github.com/wrengr/bytestring-trie/issues
Author: wren gayle romano
Maintainer: wren@cpan.org
Copyright: Copyright (c) 2008–2021 wren gayle romano
License: BSD3
License-File: LICENSE
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.)
Extra-source-files:
AUTHORS, CHANGELOG, README.md
-- This should work as far back as GHC 7.4.1, but we don't verify that by CI.
-- <https://github.com/wrengr/bytestring-trie/actions?query=workflow%3Aci>
Tested-With:
GHC ==8.0.2,
GHC ==8.2.2,
GHC ==8.4.4,
GHC ==8.6.5,
GHC ==8.8.4,
GHC ==8.10.3,
GHC ==9.0.1,
GHC ==9.2.1
Source-Repository head
Type: git
Location: https://github.com/wrengr/bytestring-trie.git
----------------------------------------------------------------
Library
Default-Language: Haskell2010
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
-- The lower bounds are more restrictive than necessary.
-- But then, we don't maintain any CI tests for older
-- versions, so these are the lowest bounds we've verified.
Build-Depends: base >= 4.5 && < 4.17
, bytestring >= 0.9.2 && < 0.12
, binary >= 0.5.1 && < 0.11
----------------------------------------------------------------
-- See the cabao file for bytestring-lexing for more info about Tasty.
Test-Suite test-all
Default-Language: Haskell2010
Hs-Source-Dirs: test
Type: exitcode-stdio-1.0
-- HACK: main-is must *not* have ./test/ like it does for executables!
Main-Is: Main.hs
Other-Modules: Utils
-- ByteStringInternal
-- We must include this library in order for the tests to use
-- it; but we must not give a version restriction lest Cabal
-- give warnings.
Build-Depends: base >= 4.5 && < 4.17
, bytestring >= 0.9.2 && < 0.12
, binary >= 0.5.1 && < 0.11
, bytestring-trie
, tasty >= 0.10.1.2 && < 1.5
, tasty-smallcheck >= 0.8.0.1 && < 0.9
, tasty-quickcheck >= 0.8.3.2 && < 0.11
-- N.B., "tasty-hunit" is just a partial API clone; whereas "tasty-hunit-compat" is a proper integration with HUnit itself. Also, tasty-hunit-compat actually depends on tasty-hunit; if you're wanting to minimize dependencies.
, tasty-hunit < 0.11
, QuickCheck >= 2.10 && < 2.15
, smallcheck >= 1.1.1 && < 1.3
-- lazysmallcheck >= 0.6 && < 0.7
----------------------------------------------------------------
----------------------------------------------------------- fin.