View mode: basic / threaded / horizontal-split · Log in · Help
April 01, 2011
[GSOC] Container Project
Hi,

My name is Ian Bishop and I'm a 4th year BCS student at the University of New Brunswick. I'm interested
in the GSOC Project of working on containers for D. This sort of project is right up my alley, my major is
Theory and Computation and I have taken related courses such as data structures, algorithms, compiler
construction and programming language theory.

I realize there's already another student interested in working on this stuff. Is the project taken or is
there room for one more?

Either way, I have a few questions about the project itself:

What kind of data structures are most wanted (or needed)? There seems to be a lot of discussion in the
previous threads about the need for a doubly-linked list and deque. Is the associative array
implementation supposed to be a permanent replacement for a proper map or is this also required in
practice?

For more abstract types, such as stacks, are these intended to be implemented as concretely or using
container adapters as they are in the STL?

What about the stuff over at <http://www.dsource.org/projects/dcollections>? It's licensed under Boost,
I haven't looked at it too hard but it seems like some of this stuff would be a good fit for the
std.container. Is there any reason (other than lack of time/resources) that this hasn't been done?

Thanks for your time,

Ian
April 01, 2011
Re: [GSOC] Container Project
On Fri, 01 Apr 2011 00:39:42 -0400, Ian Bishop <bishop14@gmail.com> wrote:

> What about the stuff over at  
> <http://www.dsource.org/projects/dcollections>? It's licensed under  
> Boost,
> I haven't looked at it too hard but it seems like some of this stuff  
> would be a good fit for the
> std.container. Is there any reason (other than lack of time/resources)  
> that this hasn't been done?

dcollections when released for d2 (prior to the existance of  
std.container) was proposed as the standard container library for  
D/Phobos.  Through discussion, Andrei and I could not agree on the design  
of a collections package, so std.container was born with Andrei's design,  
and dcollections remains as-is.  The major sticking points right now are  
the notion of cursors and the interface hierarchy, both of which Andrei  
does not want.  I have said in the past I'm willing to remove the  
interfaces for Phobos, but the cursors must stay, they are essential IMO  
to a collection package.

That being said, the license is boost, I have already ported my red black  
tree implementation to std.container so my name is in the std.container  
authors, there should be no barrier to porting any dcollections code to  
std.container as long as Andrei approves of the design.  I am willing to  
have any code from dcollections used in std.container.

I am also quite willing to help answer any questions you have about  
containers and dcollections.  You probably are more trained than me  
academically with containers, so I might not be able to answer (or maybe  
even understand) all your questions ;)

-Steve
Top | Discussion index | About this forum | D home