dynamic classes and duck typing

Ary Borenszweig ary at esperanto.org.ar
Tue Dec 1 01:52:19 PST 2009


Walter Bright wrote:
> Simen kjaeraas wrote:
>> I'm already in love with this feature.
> 
> So am I. It seems to be incredibly powerful.
> 
> Looks to me you can do things like:
> 
> 1. hook up to COM's IDispatch
> 
> 2. create 'classes' at runtime
> 
> 3. add methods to existing classes (monkey patching) that allow such 
> extensions
> 
> 4. provide an easy way for users to add plugins to an app
> 
> 5. the already mentioned "swizzler" functions that are generated at 
> runtime based on the name of the function

Can you show examples of points 2, 3 and 4?

I can't see antyhing "dynamic" in this feature. I can't invoke an 
object's method based on it's name:

class Foo {

   void opDispatch(string name)() { ... }

}

Foo foo = new Foo();

string something = get_user_input();
foo.opDispatch!(something)(); // no, can't do it
foo.something(); // not the same...

So where's the magic? I think opDispatch is just another metaprogramming 
feature, nothing else.



More information about the Digitalmars-d mailing list