On Saturday, 23 April 2016 at 09:57:20 UTC, Ilya Yaroshenko wrote:
On Friday, 22 April 2016 at 22:11:27 UTC, Joseph Rushton Wakeling wrote:
On Sunday, 17 April 2016 at 09:09:52 UTC, Ilya Yaroshenko wrote:
On Sunday, 17 April 2016 at 08:49:53 UTC, Seb wrote:
On Sunday, 17 April 2016 at 07:35:19 UTC, Ilya Yaroshenko wrote:
[...]
Another idea would be to go with std.experimental.sci.*, if that has a higher consensus.

Just with std.sci.* without `experimental`. Otherwise this would be the same problem.

Why ... ? Just keep everything in std.experimental.sci until all the details are worked out, and only transition to std.sci in one go once it's all done.

3-5 years... And then switch to D3.

I don't really see the analogy.

If we go your sci.* route, or std.sci.*, then the module naming suggests stability, and things require explicit documentation as experimental -- and the downstream user has to deal with the mental burden of unpicking what is not actually stabilized and reliable.

If we go with std.experimental.sci.*, then the module naming explicitly documents that the package as a whole is _not_ stabilized. You can document modules that _are_ considered as stable and reliable, and in doing so you're making a clearer promise to the downstream user.

You could also move stable std.experimental.sci modules to std.sci while providing deprecated public imports in the old std.experimental.sci module, and those could be maintained for the entire lifetime of std.experimental.sci (i.e. until the entire package is stabilized). So again, downstream users would only have to pay the full price of a breaking change once.

Reply via email to