Fully dynamic d by opDotExp overloading

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Apr 19 17:57:52 PDT 2009


Christopher Wright wrote:
> Andrei Alexandrescu wrote:
>> Michel Fortin wrote:
>>> On 2009-04-18 22:21:50 -0400, Andrei Alexandrescu 
>>> <SeeWebsiteForEmail at erdani.org> said:
>>>
>>>> I did, but sorry, it doesn't make sense and does nothing but 
>>>> continue the terrible confusion going in this thread.
>>>
>>> Then let's try to remove some of that confusion.
>>
>> Thanks for doing so. Given that my wits are spent with regard to this 
>> thread, I am replying out of respect for the considerable effort you 
>> have put in writing an explanation.
>>
>> I agree that method names swallowed by opDotExp will not be exposed to 
>> any reflection mechanism and that that can be a drawback. But 
>> sometimes you don't even want to exhaustively generate all method 
>> names. In the Pascalize example, you wouldn't want to generate all 
>> case combinations of your methods. Also in the swizzle example, maybe 
>> you don't want to compulsively expose all of the xyzw combinations.
>>
>> You completely lost me about the necessity of a standardized catch-all 
>> function. My view is that if you want to forward to someone else, you 
>> just call the runtime invoke() for the guy you want to forward to. So 
>> I see exactly zero need for a standardized catch-all, and a red 
>> herring in the discussion about the syntactic help brought about by 
>> opDotExp.
> 
> The utility is when you are looking for methods to invoke via runtime 
> reflection, you can determine that a given function is one of these 
> runtime opDotExp equivalents.
> 
> I don't know how useful this is, in point of fact. Unless there's a 
> standard system in D for integrating with scripting languages, anyway.

Oddly enough, I got it now :o).

Andrei



More information about the Digitalmars-d mailing list