phobos alt.

Steven Schveighoffer schveiguy at yahoo.com
Mon Oct 31 05:41:42 PDT 2011


On Sat, 29 Oct 2011 22:14:34 -0400, Andrei Alexandrescu  
<SeeWebsiteForEmail at erdani.org> wrote:

> On 10/29/11 7:17 PM, bls wrote:
>> On 10/29/2011 04:58 PM, Vladimir Panteleev wrote:
>>> td.container seems to have been written by the very same Steven
>>> Schveighoffer.

Just the RBTree portion (and Jonathan Davis has fixed a lot of issues with  
it since then).  Andrei insisted my name come first because my  
contributions occupied the most real estate ;)

>>
>> Well, that's not quit right. Steven has done a lot of things on
>> std.container, (especially algorithm wise, RB Tree f.i.), but the senior
>> designer is Andrei.
>> But I thing it's up to Steven to explain the political thingies.
>
> There is no politics at play. Steven and I respect each other's design  
> choices and we agree to disagree on a few decisions that could  
> reasonably go either way. He has graciously accepted to alter his RBTree  
> API to integrate it with Phobos.

I agree with Andrei here.  Andrei asked me to incorporate RBTree into  
std.container, and I did it because it took me quite a while and wrestling  
with my CLR algorithms book to get it right, and it was an easy thing for  
me to contribute to phobos which would have been likely painful for  
another developer to do ;)  I don't hold anything against phobos for not  
wanting my collections library, I'm perfectly happy using it as a  
third-party lib.  I suspect if dcollections were to gain traction by, say,  
being used in large projects, competition would force std.container to  
become developed.  It's somewhat how std.container came into existence  
anyways (the announcement of dcollections for D2 forced the issue), and it  
pushed the current tango container lib along when I tried proposing it to  
replace Tango's lib.

If at some point std.container satisfies my needs for a collection library  
design-wise, I'll happily switch over to using it and incorporate as much  
dcollections as I can into std.container.  But right now, I find the  
design woefully inadequate/clunky.  Just my opinion.  I also quite enjoy  
having my own side-project to tinker with :)

I encourage anyone to port any portion of dcollections to std.container.   
If nothing else it will help flesh out the design of std.container (or  
even dcollections).  But you will not find me using it until cursors and  
deletion-while-iterating are added.

>> Just want to say that > Phobos don't have a boost like container library
>> and dcollections is already offering something beyond. (cursors)
>> AGAIN why not having alt.container ??
>
> This is an invite to gratuitous balkanization. std.container is open for  
> contributions. If anyone wants to add to it, they would need to pass it  
> through the review process. The design is well-defined enough to make  
> e.g. a DList implementation free of any dilemmas.

I don't wish to create a secondary "standard" library.  Having a third  
party version is good enough, and people are free to use it or not, it  
does not need some sort of "official" status.  I think a good container  
library helps when you need it for other parts of the standard library.  I  
have no doubt the design of std.container will be revisited when other  
parts of phobos try to use it and find it lacking.  Necessity is the  
mother of invention.

I do wish dsource would get its act together and start trimming dead wood,  
dcollections (and other good active projects) are buried in it.  I try to  
bring it up when the issue of collections comes up on the NG, which is  
about all the press I get ;)  I might switch to github, I've found git  
pretty nifty.  And my documentation for dcollections 2.0 is long overdue...

-Steve


More information about the Digitalmars-d mailing list