Question on std.experimental

Seb via Digitalmars-d digitalmars-d at puremagic.com
Wed Jan 4 06:25:22 PST 2017


On Wednesday, 4 January 2017 at 07:32:34 UTC, Adam Wilson wrote:
> What are the exit conditions for graduating from 
> std.experimental.* to std.*?

I think it should have been accepted by the community and there 
shouldn't be any design concern or usability issues.
However, this is a chicken-and-egg problem as most people don't 
want to use `experimental` thoroughly in production software.
Furthermore the exact criteria aren't defined which lead to the 
weird state that `std.experimental.allocator` is considered 
stable by most of the community.

The real issue is that moving from `experimental` to Phobos means 
that the API effectively can't be changed anymore due to aversion 
against deprecations and imho it's quite difficult to guarantee 
that an API is superb.

> Has anything graduated yet?

1) allocator
------------

You may want to see this discussion:

http://forum.dlang.org/post/hxwadyrnvzvutrdcgsdp@forum.dlang.org

2) logger
----------

I think sth. like the capability to do async logging is needed.

[1] https://github.com/dlang/phobos/pull/3194


3) typecons
------------

Both `Wrap` and `Final` were added as part of 2.072.

> ndslice is deprecated https://github.com/dlang/phobos/pull/4946
> It is hard to maintain both Phobos and Mir forks.

Yep, I fully agree with Ilya here. Whenever there's a change in 
Mir, it will be released almost instantly with a new version. 
This means that thanks to DUB a user can easily upgrade to check 
out the greatest & latest, but also stay on a stable version if 
he wishes so.
With Phobos one is usually tied to the bundled Phobos version of 
one's DMD compiler release.
You may also see Ilya's proposal for a more modular standard 
library:

http://forum.dlang.org/post/phexetutyelrssyrucvw@forum.dlang.org


More information about the Digitalmars-d mailing list