On Friday, 4 October 2013 at 10:30:56 UTC, Joseph Rushton
Wakeling wrote:
On 04/10/13 12:02, John Colvin wrote:
I propose that the current review process be redirected to a
new target package
in the phobos repo, stdx, which would then have a separate
review process for
inclusion in std.
As you say, this has been proposed before and I think the
objection was along the lines that in practice, so many people
would just use stdx (because they wanted those features NOW,
NOW, NOW!) that you'd have the same backwards compatibility
issues arising there -- you'd wind up with the same fear of
breaking change and deprecation as we currently have in the
standard library
The lack of promise of API stability in stdx would have to be
very explicit and obvious. The maintainers of phobos would have
to remain stalwart in preventing any alteration of this, whether
de facto or deliberate.
and it would also cause breaking change if stdx.somemodule was
approved and moved to std.somemodule.
That is the least bad type of breaking change.
I remember someone pointed to a similar "experimental" module
namespace in Java, which effectively became a standard
namespace in this way.
Stdx would occupy a space between phobos and unaffiliated
packages, allowing for
subtle (i.e. missed during initial review) but critical
problems requiring
breakage to be identified BEFORE inclusion in the standard
library proper. I
believe providing this official stepping stone for new modules
will result in
significantly wider usage and testing, benefiting phobos, D
and it's community.
There is an alternative risk -- that people will be more
inclined to just throw stuff over the wall into stdx because,
hey, it's an experimental/testing area, the whole idea is for
people to try out imperfect code and work out what's wrong with
it ...
The bar for passing initial review should remain exactly where it
is now. Nothing should be allowed in to stdx unless it appears
for all intents and purposes to be a finished, high quality
module that would - to the best of the evidence available - be
fine to add straight to phobos. The purpose of stdx is to gather
more evidence before making the commitment.
I am aware that this is not a new idea at all. I thought it
was worth presenting
with a clean slate.
I've presented Devil's Advocate positions above, but of course
it was worth re-raising the idea. Anything that does in
practice raise the bar of Phobos quality is very welcome.