Argumnentation against external function operator overloading is unconvincing

pineapple via Digitalmars-d digitalmars-d at puremagic.com
Sun Sep 25 06:40:14 PDT 2016


On Sunday, 25 September 2016 at 11:48:38 UTC, Jonathan M Davis 
wrote:
> It's because ranges are effectively a sliding window over 
> whatever they're iterating over.

I think this is the difference in perception - ranges do not 
_have_ to be sliding windows, they can just as well be windows 
that don't move. I find the latter approach to be more workable 
and intuitive that the former, and in almost every case the 
approach results in more concise and performant code for 
performing those operations.

When would I ever want `range[0]` to give me the same thing as 
`range.front`? I want it to give me the first item in the range's 
view at the time of its creation.

I strongly oppose any change that makes the former approach an 
inherent part of D. I honestly don't think the latter approach 
should be an inherent part of D, either, but I'd have a hell of a 
time trying to use the language if it wasn't an option.



More information about the Digitalmars-d mailing list