Thanks everybody. I'll have to plan things out more (my time wise more then anything) and I'll check with the NG before I move on anything. Rob On Sep 14, 2011, at 1:55 PM, Jonathan M Davis wrote:
> 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