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

## 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, 0.2.4.1 |
---|---|

Change log | None available |

Dependencies | base (<2.2 || >=3 && <5), binary, bytestring [details] |

License | BSD3 |

Copyright | Copyright (c) 2008--2015 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 | Sun Apr 5 00:59:43 UTC 2015 by WrenThornton |

Distributions | Fedora:0.2.4, LTSHaskell:0.2.4.1, NixOS:0.2.4.1, Stackage:0.2.4.1 |

Downloads | 7181 total (71 in last 30 days) |

Votes | |

Status | Docs available [build log] Last success reported on 2015-04-05 [all 1 reports] |

## Modules

[Index]

## Flags

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

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

usecinternal | Use optimized C implementation for indexOfDifference. See notes in Data.Trie.ByteStringInternal. | Disabled | Automatic |

applicativeinbase | Applicative functors were added in base-2.0 | Enabled | Automatic |

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 | Automatic |

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

## Downloads

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

#### Maintainers' corner

For package maintainers and hackage trustees