On Friday, 1 April 2016 at 12:45:23 UTC, Jonathan M Davis wrote:
On Friday, April 01, 2016 19:26:46 Daniel Murphy via Digitalmars-d wrote:
On 1/04/2016 6:24 AM, deadalnix wrote:
> Pretty much as per title. I has that in the back of my mind > for a while. Would that work ?

Don't forget that builtin AAs have been an epic disaster, and this would require an appalling amount of effort to implement in the compiler types, ctfe, druntime, new traits etc.

Phobos seems like a better place - and while not quite as concise, the syntax should still be pretty intuitive.

Given that we already have built-in AA's, I like the idea of adding sets like this, but it wouldn't surprise me at all if it were ultimately a bad idea. Certainly, I agree that having AA's built into the language has turned into a disaster even though it's theoretically very nice to have - and it has turned out quite well for the basic use cases. It just falls apart completely once you start caring about stuff like const and immutable and anything complicated.

As it stands, if someone wants a set with Phobos, we have RedBlackTree in std.container. So, we actually have sets already. But all of that will presumably be getting an overhaul with what Andrei has been up to.

- Jonathan M Davis

I don't know about the implementation of redblack tree in phobos, but I am willing to bet on a large performance drawback if you compare it against an optimized hash table (for example using robin-hood open addressing techniques). And I guess it is for sorted set (like a heap) with O(log N) insertion and deletion (although this may be just a theoretical worry)...Furthermore, the template constraint indicate the need of a less predicate which you may not need or want to define.

Reply via email to