dynamic classes and duck typing

Denis Koroskin 2korden at gmail.com
Tue Dec 1 03:30:43 PST 2009


On Tue, 01 Dec 2009 14:26:04 +0300, retard <re at tard.com.invalid> wrote:

> Tue, 01 Dec 2009 03:16:47 -0800, Walter Bright wrote:
>
>> Ary Borenszweig wrote:
>>> Can you show examples of points 2, 3 and 4?
>>
>> Have opDispatch look up the string in an associative array that returns
>> an associated delegate, then call the delegate.
>>
>> The dynamic part will be loading up the associative array at run time.
>
> This is not exactly what everyone of us expected. I'd like to have
> something like
>
> void foo(Object o) {
>   o.duckMethod();
> }
>
> foo(new Object() { void duckMethod() {} });
>
> The feature isn't very dynamic since the dispatch rules are defined
> statically. The only thing you can do is rewire the associative array
> when forwarding statically precalculated dispatching.

I believe you should distinguish duck types from other types.

You shouldn't be able to call duckMethod given a reference to Object, it's  
a statically-typed language, after all.



More information about the Digitalmars-d mailing list