std.experimental repo

rikki cattermole via Digitalmars-d digitalmars-d at puremagic.com
Sat Mar 25 07:34:38 PDT 2017


On 25/03/2017 3:20 PM, Seb wrote:
> On Saturday, 25 March 2017 at 10:28:36 UTC, XavierAP wrote:
>> On Saturday, 25 March 2017 at 09:42:07 UTC, Daniel N wrote:
>>>
>>> As a ndslice user, I long dreaded this day:
>>> 2.074.0: "std.experimental.ndslice has been removed"
>>
>> Are you aware that ndslice is available at
>> https://github.com/libmir/mir-algorithm right?
>>
>> I believe the reason std.experimental.ndslice must have been removed
>> is because it was an already out of date fork. The newest is forked
>> out of Phobos because the author decided to stop working inside
>> Phobos. Maybe Ilya can explain it better if he sees the thread.
>
> Well, as the guy who removed Mir from Phobos, I can share a couple
> insights on why having Mir in Phobos is problematic:
>
> - different release cycle:
>   - it takes minutes or hours for a bug fix in mir to be available and
> months for phobos
>   - using proper semantic versioning deprecation issues are a greatly
> reduced (users always have the same code base and when they have time,
> they can upgrade to the latest and greatest)
>
> - lack of progress:
>   - there aren't many reviewers for ndslice, so in the past PRs to
> ndslice got unnecessarily stalled
>   - there was a huge discussion last summer when Ilya tried to move
> ndslice.iteration into std.experimental.ndslice (there were endless
> discussions about the naming of his functions)
>
> - dependency on LDC (fast math and previously proper FP math): mir
> wasn't compatible with DMD for a couple of releases
> - external dependencies: e.g. mir-glas depends on a different cpuid than
> the one in core.cpuid
> - Ilya has a huge focus on -betterC and the idea is that all Mir
> projects can be used without Phobos and druntime, so that it can easily
> be linked with C (see also his proposal for a small, modular and
> betterC-compatible standard library:
> https://forum.dlang.org/post/phexetutyelrssyrucvw@forum.dlang.org)
>
> So in short: as long as a library is in active development, it's its
> death to put it into the standard library.

Or TLDR: it wasn't ready or appropriate for Phobos inclusion in the 
first place. But that was easier seen with hindsight sadly.


More information about the Digitalmars-d mailing list