www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - [GSOC] Container Project

reply Ian Bishop <bishop14 gmail.com> writes:
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
Mar 31 2011
parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
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
Apr 01 2011