dynamic classes and duck typing
retard
re at tard.com.invalid
Tue Dec 1 03:45:14 PST 2009
Tue, 01 Dec 2009 14:30:43 +0300, Denis Koroskin wrote:
> 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.
Agreed. But this new feature is a bit confusing - there isn't anything
dynamic in it. It's more or less a compile time rewrite rule. It becomes
dynamic when all of that can be done on runtime and there are no
templates involved.
More information about the Digitalmars-d
mailing list