# 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--2011 wren ng thornton |

Author | wren ng thornton |

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 |

Upload date | Sat Feb 12 11:07:27 UTC 2011 |

Uploaded by | WrenThornton |

Distributions | Fedora:0.2.3, NixOS:0.2.4 |

Downloads | 3788 total (478 in last 30 days) |

## 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.3.tar.gz [browse] (Cabal source package)
- Package description (included in the package)

#### Maintainers' corner

For package maintainers and hackage trustees