Make all new symbols go through std.experimental?
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Tue Oct 27 19:48:31 PDT 2015
On Wednesday, 28 October 2015 at 00:28:51 UTC, Andrei
Alexandrescu wrote:
> I was looking at
> https://github.com/D-Programming-Language/phobos/pull/3765 and
> whilst it's a sensible addition, I'm thinking we'd want to pass
> it and all other library additions through std.experimental
> first. So we'd have a std.experimental.range package that would
> be a purgatory for things to be added to std.range, and so on.
>
> We have examples from the past when additions that seemed
> obvious and sensible needed a few tweaks before stabilization.
> Going through std.experimental seems like a good approach to do
> such.
>
> What say you?
I don't know. It probably makes sense for some stuff, but in
other cases, the fact that it ends up in a module other than its
target module could be problematic (especially when overloads
come into play). It also seems like extra red tape and extra
effort that's then going to have to be spent moving symbols
around. On the other hand, it would at least potentially help
catch some problems.
Regardless, we need to make it clear how we're going to move
stuff from std.experimental to std, and what the timetable for
that is supposed to be. AFAIK, thus far, we've never moved
_anything_ from std.experimental to std. In the case of new
modules, are we supposed to vote on them again before actually
moving them into std? Do they just get moved over after they've
been around for a certain period of time? Or is it some other
criteria? And if we start putting new symbols in
std.experimental, should those same criteria apply to individual
symbols in addition to modules? Having another vote before
migrating a new module might make sense, but that's definitely
overkill for a new symbol. And new symbols probably don't need
the same kind of bake time that a new module would. Right now,
AFAIK, we have no policy with regards to std.experimental at all
except that that's where new modules are supposed to go when they
get voted in.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list