hamt 0.1.3

Purely functional hash array mapped tries.
Documentation

hamt

:construction: This library is under construction! :construction:

Build Status

An implementation of a persistent hash array mapped trie in Rust, based on those found in the unordered-containers Haskell library.

There are two versions of the data structure, HamtRc which is limited to a single thread, and HamtArc which can be freely shared.

Examples

extern crate hamt;
use hamt::HamtRc;

let hamt = HamtRc::<isize,isize>::new().insert(0, 1).insert(1, 10).insert(2, 100);
assert!(hamt.get(&1) == Option::Some(&10));

Performance

Unknown :space_invader:.

Planned features

  • Data.HashSet equivalent,
  • Useful functions like insertWith, adjust, union, difference, intersection.