December 16, 2015
On Wednesday, 16 December 2015 at 11:31:00 UTC, Dennis Ritchie wrote:
> On Wednesday, 16 December 2015 at 11:21:13 UTC, John Colvin wrote:
>> On Sunday, 13 December 2015 at 05:10:17 UTC, Jack Stouffer wrote:
>>> This is the voting thread to decide if the proposed addition to Phobos, std.experimental.ndslice, should be accepted.
>>>
>>> [...]
>>
>> Docs are hitting a server error.
>
> On Sunday, 13 December 2015 at 05:21:49 UTC, Ilya Yaroshenko wrote:
>> Docs fixed link: http://dtest.thecybershadow.net/artifact/website-13cbdcf17d84fc31328c3f517a56bea783c418d6-dd2292a424959b594956eeeba64d391f/web/phobos-prerelease/std_experimental_ndslice.html
>>
>> The latest docs always can be found at PullRequest's CyberShadow/DAutoTest

Totally forgot reading that, thanks.
December 16, 2015
On Wednesday, 16 December 2015 at 11:01:25 UTC, Robert burner Schadek wrote:
> Yes with many conditions:
>
> * Documentation
> ** The documentation needs a complete rewrite. If I hadn't had any prior knowledge, I would have needed to read the numpy documentation to figure what this package does. That is not acceptable. It is also not clear how the functionally in the package is supposed to work together, and how it interacts with the rest of phobos.

I will add description of what this module dose and how it works under the hood. In the same time I expect few articles from another engineers about ndslice like this http://dlang.org/intro-to-datetime.html . It is much better to have explanation from different engineers.

> ** Params, Returns ...

Agreed.

> * Style
> ** the source code does not look like phobos
> ** s/assert (/assert(/g
> ** s/unittest {/unittest\n{/g
> ** unittest properties should be on the same line as the unittest keyword
> ** spaces between operators
> ** dfmt and some manuel work is your friend

Agreed all except spaces between operators. I would like to do not use them in someY examples exactly for readability reasons.

> * Testing
> ** most tests only use itoa, what about arrays what about arrays with user defined types. That's properly trivial but should be tested.

Didn't agree. Corresponding features for arrays and std.container.array are tested. 98% of ndslice do not do anything with data. Its change strides and lengths _only_.

> ** interaction with rest of phobos. Can I call map on a Slice? If I can, it should be tested so that it still works after the next release.

OK, I will add test for `map`. For other Phobos Slice is just an Random Access Range and it is already tested for  iota, arrays, std.container.array, dummyranges .

Please note this DMD bug (see reduced example by John):  https://issues.dlang.org/show_bug.cgi?id=15441

> * Miscellaneous
> ** string mixins. I think some of the string mixins can be removed for something more readable/debuggable
> **

I have not found examples where string mixins can be removed. Please refer to particular example. The code for `sliced` and `assumeSorted` looks ugly. But I don't know how is can be done another way. Remove this functionality is an option.

Thank you and regards,
Ilya
December 16, 2015
On Wednesday, 16 December 2015 at 17:49:03 UTC, Ilya Yaroshenko wrote:
> On Wednesday, 16 December 2015 at 11:01:25 UTC, Robert burner Schadek wrote:

> I have not found examples where string mixins can be removed. Please refer to particular example. The code for `sliced` and `assumeSorted` looks ugly. But I don't know how is can be done another way. Remove this functionality is an option.
>
> Thank you and regards,
> Ilya

EDIT: assumeSameStructure

December 17, 2015
On Wednesday, 16 December 2015 at 17:49:03 UTC, Ilya Yaroshenko wrote:

>> * Miscellaneous
>> ** string mixins. I think some of the string mixins can be removed for something more readable/debuggable
>> **
>
> I have not found examples where string mixins can be removed. Please refer to particular example. The code for `sliced` and `assumeSorted` looks ugly. But I don't know how is can be done another way. Remove this functionality is an option.

template sliced(Names...)

you can simple compute the strings and than pass them as template parameter or as alias to another function.

If that becomes unpractical at least use q{ } strings

December 17, 2015
On Wednesday, 16 December 2015 at 17:49:03 UTC, Ilya Yaroshenko wrote:
> In the same time I expect few articles from another engineers about ndslice like this http://dlang.org/intro-to-datetime.html . It is much better to have explanation from different engineers.
>

Please no, put all the doc at one place.

Actually, that article was written by the author of the library. People are lazy, if the doc is not in the phobos docs they will not search for it. Make it very hard for people to complain.

December 22, 2015
Yes
December 23, 2015
On Monday, 14 December 2015 at 08:29:13 UTC, Andrea Fontana wrote:
> On Sunday, 13 December 2015 at 05:10:17 UTC, Jack Stouffer wrote:
>> This is the voting thread to decide if the proposed addition to Phobos, std.experimental.ndslice, should be accepted.
>>
>> To vote, please respond to this post. You have three options:
>>
>> * Yes
>> * Yes with a single condition
>> * No
>
> Yes!

Thanks!
> Image example is a good idea but I think it should not use external libraries. If someone starts with d/phobos probably won't download/configure another library to do some tests.
>
> I suggest you to fix the example using ppm format.
> https://en.wikipedia.org/wiki/Netpbm_format#PPM_example
>
> It's just a couple of "map!()" away. :)
>
> Or bmp, it's not that complex to read in its common form.

imageformats consists of a single file, so user can compile it without dub. It would be faster for user to find and use imageformats than to find a converter from jpeg/png to PPM. Furthermore complete dub example is available at DlangScience/examples.

If you have an idea about additional example I'll be happy to discuss it.

Best,
Ilya
December 23, 2015
On Thursday, 17 December 2015 at 13:33:28 UTC, Robert burner Schadek wrote:
> On Wednesday, 16 December 2015 at 17:49:03 UTC, Ilya Yaroshenko wrote:
>> In the same time I expect few articles from another engineers about ndslice like this http://dlang.org/intro-to-datetime.html . It is much better to have explanation from different engineers.
>>
>
> Please no, put all the doc at one place.
>
> Actually, that article was written by the author of the library. People are lazy, if the doc is not in the phobos docs they will not search for it. Make it very hard for people to complain.

0. Package header was added
1. Annotations for `Category` column was added.
2. Internal Binary Representation section was added to std_experimental_ndslice.html
3. `Slice` type contains classification of slicing and indexing, so user can study it along with examples of Slice's overloaded operators.

$(CCODE code) does not work if code contains `ALineLikeThat:`. So I use $(D ), but words `is` and `default` are highlighted =\

Update link: http://dtest.thecybershadow.net/artifact/website-76234ca0eab431527327d5ce1ec0ad74c6421533-904569dd4c4451a4514dc4b456c7b395/web/phobos-prerelease/std_experimental_ndslice.html
December 24, 2015
On Sunday, 13 December 2015 at 05:10:17 UTC, Jack Stouffer wrote:
> This is the voting thread to decide if the proposed addition to Phobos, std.experimental.ndslice, should be accepted.

Voting ends in three days.

Have a merry Christmas everyone!
December 28, 2015
On Thursday, 24 December 2015 at 17:10:25 UTC, Jack Stouffer wrote:
> On Sunday, 13 December 2015 at 05:10:17 UTC, Jack Stouffer wrote:
>> This is the voting thread to decide if the proposed addition to Phobos, std.experimental.ndslice, should be accepted.
>
> Voting ends in three days.
>
> Have a merry Christmas everyone!

Voting has ended! Thanks to everyone who voted and reviewed.

The final tally:

Yes: 12
No: 0