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.