rpds
rpds copied to clipboard
Rust persistent data structures
I was using `im` and recently moving to `rpds`. `im` as methods like `skip` `take` `drop_first`...which create slices from existing vectors. I can't find these methods in `rpds` so I...
I find myself doing this a lot: ``` match foo.peek() { Some(head) => { foo = foo.pop().unwrap(); } } ``` As far as I can see, there isn't a single...
I would like to make `rpds` an optional dependency while at the same time implementing some traits in a generic manner (i.e. `impl for rpds::Vector`). I can't find a way...
Any chance for adding a Finger Tree data-structure to rpds? 😃🙏 (there are references for this being done—at least in partially persistent ways—as early as ['86](https://www.cs.cmu.edu/~sleator/papers/making-data-structures-persistent.pdf))
What is a good way to get the current memory usage of a rpds structure? I'm looking for something like Servo's `malloc_size_of`. I can get the size of leaves but...
Is it possible to search RedBlackTreeMap by index? like [this](https://internals.rust-lang.org/t/suggestion-btreemap-btreeset-o-log-n-n-th-element-access/9515)
I was recently toying with the idea to port of https://github.com/usethesource/capsule which implemented https://michael.steindorfer.name/publications/phd-thesis-efficient-immutable-collections.pdf in Java. Curious if you see the CHAMP option as a future state for `rpds`?
It would be nice to have these impls available.
Empty data structures should need no heap allocation. - [ ] `Vector` (See #28) - [ ] `HashTrieMap` See #24 We can test this with https://github.com/Windfisch/rust-assert-no-alloc