packages feed

bytestring-trie-0.2.6: bytestring-trie.cabal

----------------------------------------------------------------
-- 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.