Revised RFC on range design for D2

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Fri Oct 3 07:38:18 PDT 2008


KennyTM~ wrote:
> Sergey Gromov wrote:
>> Thu, 02 Oct 2008 15:03:42 -0500,
>> Andrei Alexandrescu wrote:
>>> Yah, overloaded ops are due for an overhaul. I'm almost afraid to 
>>> ask... any ideas? :o)
>>>
>>> One goal is to fix opIndexAssign and make it work similar to the way 
>>> it works in arrays, e.g. a[b] += c. Indexing into hash tables is a 
>>> good test bed.
>>
>> What's wrong with a.opIndexAssign(b, a.opIndex(b) + c)?
> 
> Probably performance.
> 
> Consider seeking to the end of a 100M-node single-linked list, and 
> increase its content by 1.
> 
> But I agree that if something like .opIndexAddAssign() is not defined, 
> the compiler should fall back to use a.opIndexAssign(b, a.opIndex(b)+c).
> 
> (The same idea can be extended to properties and .opSlice() )

Glad you brought opIndexAddAssign up. I think a good solution would 
avoid adding all opIndexXxxAssign functions. I think even opXxxAssign 
are undesirable.

Andrei


More information about the Digitalmars-d-announce mailing list