Revised RFC on range design for D2

KennyTM~ kennytm at gmail.com
Fri Oct 3 20:06:40 PDT 2008


Andrei Alexandrescu wrote:
> 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

Of course I don't want opIndexAddAssign either ;p.


More information about the Digitalmars-d-announce mailing list