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/phexetutyelrssyru...@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.

Reply via email to