std.experimental repo

Seb via Digitalmars-d digitalmars-d at puremagic.com
Sat Mar 25 07:20:53 PDT 2017


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.


More information about the Digitalmars-d mailing list