# The bytestring-trie package

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

- No changelog available

## Properties

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.0), binary, bytestring orbase (>=2.0 && <2.2), binary orbase (==3.*), binary, bytestring orbase (==4.*), binary, bytestring |

License | BSD3 |

Copyright | Copyright (c) 2008--2014 wren gayle romano |

Author | wren gayle romano |

Maintainer | wren@community.haskell.org |

Stability | provisional |

Category | Data, Data Structures |

Home page | http://code.haskell.org/~wren/ |

Source repository | head: darcs get http://community.haskell.org/~wren/bytestring-trie |

Uploaded | Sat Oct 11 03:11:30 UTC 2014 by WrenThornton |

Distributions | Fedora:0.2.3, NixOS:0.2.4, Stackage:0.2.4 |

Downloads | 4024 total (381 in last 30 days) |

Status | Docs uploaded by user Build status unknown [no reports yet] |

## Modules

[Index]

## Flags

Name | Description | Default |
---|---|---|

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

- bytestring-trie-0.2.4.tar.gz [browse] (Cabal source package)
- Package description (included in the package)

#### Maintainers' corner

For package maintainers and hackage trustees