The bytestring-trie package

[ Tags: 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.)


Versions 0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.2.2, 0.2.3, 0.2.4,
Dependencies base (<2.2 || >=3 && <5), binary, bytestring [details]
License BSD3
Copyright Copyright (c) 2008--2011 wren ng thornton
Author wren ng thornton
Category Data, Data Structures
Home page
Source repo head: darcs get
Uploaded Sat Feb 12 11:07:27 UTC 2011 by WrenThornton
Distributions Fedora:, LTSHaskell:, NixOS:, openSUSE:
Downloads 12415 total (88 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI





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


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


Applicative functors were added in base-2.0


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


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


Maintainer's Corner

For package maintainers and hackage trustees