On Tuesday, 7 February 2017 at 16:18:20 UTC, Ilya Yaroshenko wrote:

Feedback is welcome!


I don't have time right now to play around with it, but I looked through the documentation. Here are my comments:

1) I would consider
http://docs.algorithm.dlang.io/latest/mir_ndslice.html
to be the first thing that anyone looks at when they think about mir ndslice. I think it's pretty good, but there's always room for some improvements, such as

a) The extent of the compatibility between D's standard library and mir (such as what you wrote in the post above) b) Some of your high level explanation for the motivation for recent changes, such as iterators, universal/canonical/contigous. I.e., something along the lines of ndslice is so powerful it can do all these different things.

2) The explanation of the difference between universal, canonical, and contiguous is in
http://docs.algorithm.dlang.io/latest/mir_ndslice_slice.html#.Slice
It should be referenced in functions like Universal/Canonical/Contigous/universal/canonical.

3) mir.ndslice.topology has universal, canonical, assumeCanonical, and assumeContiguous. Why no contiguous or assumeUniversal?

4) It looks like some of the functions from std.algorithm, like map, are now in mir.ndslice.topology instead of mir.ndslice.algorithm. You might include more detailed explanations at the top of the documentation of topology and algorithm for why the modules are split up this way.

Keep up the good work.

Reply via email to