The bytestring-trie package

[Tags: bsd3, library]

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

Properties

Versions0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.2.2, 0.2.3, 0.2.4, 0.2.4.1
Change logNone available
Dependenciesbase, binary, bytestring
LicenseBSD3
CopyrightCopyright (c) 2008--2015 wren gayle romano
Authorwren gayle romano
Maintainerwren@community.haskell.org
Stabilityprovisional
CategoryData, Data Structures
Home pagehttp://code.haskell.org/~wren/
Source repositoryhead: darcs get http://community.haskell.org/~wren/bytestring-trie
UploadedSun Apr 5 00:59:43 UTC 2015 by WrenThornton
DistributionsFedora:0.2.4, LTSHaskell:0.2.4.1, NixOS:0.2.4.1, Stackage:0.2.4.1
Downloads5679 total (356 in last 30 days)
StatusDocs available [build log]
Last success reported on 2015-04-05 [all 1 reports]

Modules

[Index]

Flags

NameDescriptionDefault
base4base-4.0 emits "Prelude deprecated" messages in order to get people to be explicit about which version of base they use.Enabled
usecinternalUse optimized C implementation for indexOfDifference. See notes in Data.Trie.ByteStringInternal.Disabled
applicativeinbaseApplicative functors were added in base-2.0Enabled
bytestringinbaseThe 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 packageDisabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees