Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement a persistent self-balancing binary search tree #4987

Closed
thestinger opened this issue Feb 17, 2013 · 8 comments
Closed

implement a persistent self-balancing binary search tree #4987

thestinger opened this issue Feb 17, 2013 · 8 comments

Comments

@thestinger
Copy link
Contributor

This will need to be a different implementation than TreeMap - an efficient persistent tree is a different beast.

@graydon
Copy link
Contributor

graydon commented Apr 25, 2013

nominating for backwards-compatible milestone

@pcwalton
Copy link
Contributor

This is part of extra and so I don't think this is backwards incompatible.

@graydon
Copy link
Contributor

graydon commented Aug 1, 2013

I would like treemap to be in std, it's a completely normal container type, in many standard libraries and specs.

@graydon
Copy link
Contributor

graydon commented Aug 1, 2013

accepted for backwards-compatible milestone

@sfackler
Copy link
Member

What's the intended use case for fun_treemap? Should it be fully functional? I don't see why that's particularly useful since it cant be shared over task boundaries as @thestinger mentioned in #7212. Purely functional implementations also (I think) require O(log(n)) space overhead per copy, which is a bummer if the use case is to keep tons of generations around. If it's not going to be purely functional, should it be partially consistent or fully consistent? Traditional persistent maps appear to be useful in some computational geometry problems, but I'm not sure if that's really a common enough application to support in extra.

@thestinger
Copy link
Contributor Author

It could be written with extra::arc::Arc instead of managed pointers. The high-fanout persistent data structures can't be implemented efficiently with reference counting, but it's fine for a binary tree.

@catamorphism
Copy link
Contributor

This won't break backwards-compatibility. Clearing milestone.

@steveklabnik
Copy link
Member

I'm pulling a massive triage effort to get us ready for 1.0. As part of this, I'm moving stuff that's wishlist-like to the RFCs repo, as that's where major new things should get discussed/prioritized.

This issue has been moved to the RFCs repo: rust-lang/rfcs#649

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants