Prolly: A content-addressed ordered map built on prolly trees
Prolly is a new Rust library that provides content-addressed ordered map storage based on prolly trees. It is designed for efficient structural sharing, diffing, and merging, offering a runtime-neutral engine for building persistent data structures.
Why it matters
Content-addressed storage is a foundational technology for modern distributed systems and version control, and this library provides a specialized tool for Rust developers.
Prolly publishes the prolly Rust library crate. Users depend on the package as prolly-map , while code imports stay concise: use prolly::{Config, Prolly}; .
The crate provides content-addressed prolly tree storage primitives: an immutable, ordered key-value index over byte keys and byte values, with stable content-derived structure for efficient structural sharing, diff, merge, and bulk loading.
At the API boundary, a Tree is a small persistent handle:
The actual nodes live in a pluggable Store . Operations clone and rewrite only the affected path or subtrees, write new content-addressed nodes, and return a new Tree handle.
All storage-backed tree work is implemented once by a runtime-neutral, async-first engine. AsyncProlly<S: AsyncStore> uses it directly; Prolly<S: Store> drives the same complete operation through an inline ready-only adapter. The synchronous path does not create a runtime, park a thread, or dispatch store calls to Tokio.
Get smarter about the news
Sign up free for a feed built around what you actually care about, Dive Deeper research on any story, and the full text of every article.
Create free accountAlready have an account? Sign in