packages feed

bytestring-trie-0.2.4.3: bytestring-trie.cabal

------------------------------------------------------------
-- wren gayle romano <wren@cpan.org>            ~ 2019.02.23
------------------------------------------------------------

-- By and large Cabal >=1.2 is fine; but
-- * >=1.6 gives tested-with: and source-repository:
-- * >=1.8 allows executables to build-depends: on the library
-- * >=1.9.2 allows Test-Suite
Cabal-Version:  >= 1.9.2
Build-Type:     Simple

Name:           bytestring-trie
Version:        0.2.4.3
Stability:      provisional
Homepage:       http://wrengr.org
Author:         wren gayle romano
Maintainer:     wren@cpan.org
Copyright:      Copyright (c) 2008--2019 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

-- Cf., <https://travis-ci.org/wrengr/bytestring-lexing>
Tested-With:
    GHC ==7.4.1, GHC ==7.4.2,
    GHC ==7.6.1, GHC ==7.6.2, GHC ==7.6.3,
    GHC ==7.8.1, GHC ==7.8.2, GHC ==7.8.3, GHC ==7.8.4,
    GHC ==7.10.1, GHC ==7.10.2, GHC ==7.10.3,
    GHC ==8.0.1, GHC ==8.0.2,
    GHC ==8.2.1, GHC ==8.2.2
    -- TODO: re-enable these and get them to work.
    -- GHC ==8.4.1, GHC ==8.4.2, GHC ==8.4.3,
    -- GHC ==8.6.1, GHC ==8.6.2

Source-Repository head
    Type:     git
    Location: https://github.com/wrengr/bytestring-trie.git

------------------------------------------------------------
Flag useCinternal
    Default:     False
    Description: Use optimized C implementation for indexOfDifference.
                 See notes in Data.Trie.ByteStringInternal.

------------------------------------------------------------
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: base       >= 4   && < 4.11
                 , bytestring >= 0.9 && < 0.11
                 , binary
    
    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.