array operations and ranges

Vlad Levenfeld via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 27 12:30:01 PDT 2015


On Monday, 27 April 2015 at 06:52:11 UTC, Manu wrote:
> On 27 April 2015 at 15:58, Vlad Levenfeld via Digitalmars-d
> <digitalmars-d at puremagic.com> wrote:
>>> Phobos containers already support the first line, and it 
>>> would be a
>>> natural extension to make them support the second.
>>
>>
>> Sure, it's not complicated. It's something I had done in this 
>> other code and
>> showing for example.
>
>
> Yeah, see I don't feel making a simple thing like an array into
> something more complex by wrapping it in templates is ever a 
> good
> thing to do.
> I just think it's a missed opportunity that the compiler doesn't
> support any of this in the language.
>
> It would appear at face value to be a great opportunity for 
> lowering.
> Assignment can lower to .copy(), operators can lower to 
> map!(...)
>
> I can tell you, if I tried to explain to my colleagues that we 
> should
> wrap an array in a template so assignment works, they would 
> laugh at
> me, then ridicule me, and then they would dismiss D. Better to 
> say
> it's not supported than to show them that approach.

Yeah, it is an excessive solution. I guess just wanted to talk 
about my thing and didn't think it through. I think laughing at 
and ridiculing are the same thing though. Anyway, lowering to 
copy built-in to the language, at least, would be pretty great. 
Especially if it worked like foreach and picked up local symbols, 
so that custom copy and map implementations could be used 
wherever they were defined.


More information about the Digitalmars-d mailing list