8 releases

Uses old Rust 2015

0.2.0 Feb 18, 2016
0.1.7 Feb 3, 2016
0.1.4 Oct 15, 2015

#3 in #purely

42 downloads per month

MIT/Apache

25KB
630 lines

hamt

🚧 This library is under construction! 🚧

Build Status

Documentation

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

There are four versions of the data structure, HamtRc which is limited to a single thread, and HamtArc which can be freely shared. As well as set versions, HamtSetRc and HamtSetArc.

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

Planned features

  • Useful functions like union, difference, intersection.

Dependencies

~40KB