On Wednesday, September 14, 2011 10:23 Steven Schveighoffer wrote:
> Regardless, the best way to get your code reviewed is by creating a github
> fork. At least then it's easy to try out.

Indeed. Such a fork is pretty much necessary to get the code into Phobos 
anyway.

> IMO, I think a pull request is fine, we already have established that we
> want a std.container and what the interface should be.

My primary concern would be that if a container were particularly complicated, 
then it would merit a more thorough review than is likely to occur on github 
(github frequently does not have enough people looking at pull requests and 
giving feedback on them). It is true that the primary thing that formal 
reviews deal with is the API, which has mostly been sorted out for 
std.container already, but particularly large/complex chunks of new 
functionality or larg/complex changes could merit more thorough reviews. 
Simpler containers won't have that issue. However, an informal review in the 
newsgroup might be enough for any particularly complex container. As I said, 
it's fuzzy. We just need to make sure that any containers which get added get 
a thorough enough review, whether that's simply reviewing it in github or a 
more thorough review in the newsgroup.

> I'd recommend to Robert to identify exactly what containers you intend to
> implement, and have an informal discussion on the NG before creating the
> code. This will at least give you an idea of what's likely to be accepted.

Good advice. A related note would be that the basic design of std.container is 
that the containers be based around data structures, not what they're used for 
(hence why we have RedBlackTree and not Set or Map), and new containers should 
stick to that. We may or may not create simple wrapper functions, types, or 
aliases which are based on usage (e.g. Set and Map), but the actual container 
types should be specific data structures.

- Jonathan M Davis

Reply via email to