Fully dynamic d by opDotExp overloading

Denis Koroskin 2korden at gmail.com
Sun Apr 19 03:26:57 PDT 2009


On Sun, 19 Apr 2009 05:40:32 +0400, Steven Schveighoffer <schveiguy at yahoo.com> wrote:

> On Sat, 18 Apr 2009 21:10:27 -0400, Andrei Alexandrescu  
> <SeeWebsiteForEmail at erdani.org> wrote:
>
>> Adam Burton wrote:
>>> Andrei Alexandrescu wrote:
>>>>> What about using something like '->' for dynamic calls instead of  
>>>>> '.'?
>>>> That's absolutely useless. If I have to write anything different from
>>>> "." I might as well write "bloodyMaryBloodyMaryBloodyMary".
>>>>
>>>> Andrei
>>> You could even write 'noodles' but that doesn't really give me a  
>>> reason as to why it's absolutely useless. Please clarify, I thought it  
>>> seemed like a reasonable idea, if it isn't I would like to know why.
>>
>> I apologize for the snapping. There's no excuse really, but let me  
>> mention that this thread has been particularly meandering.
>>
>> The point of using "." is not syntactic convenience as much as the  
>> ability of the Dynamic structure to work out of the box with algorithms  
>> that use the standard notation.
>
> Hm... the thought just occurred to me.
>
> At what time are you going to use opDotExp so an entity be used in an  
> algorithm rather than actually defining the functions directly?  For  
> example, if you want to make a class/struct a range, why not just define  
> the functions directly?  It seems odd to define them using opDotExp.
>

Variant variantRange = someRange();
foreach (element; variantRange) {
    // ...
}

Variant forwards all the front/back/etc methods to an underlying range.



More information about the Digitalmars-d mailing list