bytestring-trie: An efficient finite map from (byte)strings to values.

[ bsd3, data, data-structures, library ] [ Propose Tags ]

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

Flags

Automatic Flags
NameDescriptionDefault
base4

base-4.0 emits "Prelude deprecated" messages in order to get people to be explicit about which version of base they use.

Enabled
usecinternal

Use optimized C implementation for indexOfDifference. See notes in Data.Trie.ByteStringInternal.

Disabled
applicativeinbase

Applicative functors were added in base-2.0

Enabled
bytestringinbase

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

Disabled

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

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.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, 0.2.4.3, 0.2.5.0, 0.2.5.1, 0.2.5.2, 0.2.5.3, 0.2.6, 0.2.7, 0.2.7.1, 0.2.7.2
Dependencies base (<2.2 || >=3 && <4.11), binary, bytestring [details]
License BSD-3-Clause
Copyright Copyright (c) 2008--2015 wren gayle romano
Author wren gayle romano
Maintainer wren@community.haskell.org
Revised Revision 1 made by phadej at 2018-04-03T11:29:50Z
Category Data, Data Structures
Home page http://code.haskell.org/~wren/
Source repo head: darcs get http://community.haskell.org/~wren/bytestring-trie
Uploaded by WrenThornton at 2015-04-05T00:59:43Z
Distributions Fedora:0.2.7.2, LTSHaskell:0.2.7.2, NixOS:0.2.7.2
Reverse Dependencies 24 direct, 356 indirect [details]
Downloads 24271 total (90 in the last 30 days)
Rating 2.5 (votes: 4) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-04-05 [all 1 reports]