Proposal: Multidimensional opSlice solution

Norbert Nemec Norbert at Nemec-online.de
Mon Mar 8 20:25:02 PST 2010


bearophile wrote:
> D won't be frozen forever, eventually few new things will be added, for example in D3. For example probably some of the limits of CTFE will be removed. Even C language and Fortran keep having changes every ten years or so.
> What will be hard to do are changes/removals. It's important to tell apart additive changes (like the ones you ask, like using 0 and $ as default bounds when they are missing, or adding a stride) from breaking changes (like replacing .. with a : ). I didn't understand this essential difference until too much late.

I experienced this crucial difficulty with my very first request, five 
years ago when I pleaded to replace the names "ireal" and "creal". When 
no one seemed to catch the deep irony of these names, I learned to 
accept it as a bit of mathematical humor.


>> Admitted, the last case does not work quite as nicely with ".." as it 
>> does with Python's ":". Still, the point should be clear.
> 
> I have never understood why Walter has adopted .. for slices instead of the better :
> I'd like to know why.

I guess in one dimension, ".." does indeed look more intuitive than ":". 
It just does not scale up as nicely to higher dimensions.

The fundamental issue that I am only gradually beginning to understand 
is that multidimensional arrays are really much more a niche feature 
than they seem. Outside of numerics, hardly anybody actually finds them 
particularly useful.



More information about the Digitalmars-d mailing list