Skip to content

Purely functional hash array mapped tries.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

rainbowbismuth/hamt-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Purely functional hash array mapped tries.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages