On 10/27/15 8:28 PM, 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?

No.

This seems overly-cautious. We are saying we want to INTENTIONALLY break your code at some point in the future when it moves out of std.experimental. If the symbol never changes, then this is a waste.

I think it's a judgment call as to whether you start off a symbol in std.experimental. Is it controversial? Does it seem like the API is difficult to use? Having a hard-set rule for something that is OBVIOUSLY designed correctly is not good.

I think it's fine to require symbols to be put in purgatory if it seems like they likely will change. But having a rule that they MUST go there is too much.

It's most definitely different for completely new modules. These are likely to change/grow over time, especially with new people using them.

BTW, we may get more mileage out of identifying when a symbol was added. I know in many different languages, the docs for a symbol identify the first version that contained the symbol. I think someone would be more forgiving of a change to a symbol that was added recently than one that was there from 5 years ago.

-Steve

Reply via email to