1. opDispatch is no good for overloading when the set of methods are
defined at run-time.
2. opDIspatch doesn't cover operators (why?).

On Wed, Oct 26, 2011 at 6:09 PM, Steven Schveighoffer
<schvei...@yahoo.com> wrote:
> On Tue, 25 Oct 2011 06:00:28 -0400, Gor Gyolchanyan
> <gor.f.gyolchan...@gmail.com> wrote:
>
>> I think adding more dynamic typing to D would be a splendid idea to
>> further widen the variety of solutions for different problems.
>> Modular app development is a very good practice and modularity means
>> dynamicity, which in turn means, that one needs to give up on lots of
>> sweet stuff like templates, overloading and string mixins.
>> Variant is the first step towards dynamic alter-ego of D, which is
>> completely undeveloped currently.
>> Although my benchmarks show, that variant is quite slow and I'd really
>> like a version of variant, optimized for ultimate performance.
>> Also, there are lots of stuff, that i really need at run-time, which i
>> only have at compile-time:
>> * Interfaces. dynamic interfaces are very important to highly modular
>> applications, heavily based on plugins. By dynamic interfaces i mean
>> the set of attributes and methods of an object, which is only known at
>> run-time.
>> * Overloading. A.K.A multimethods. required by dynamic interfaces.
>> * Dynamic templates. In other words, value-based overloading (since
>> type is yet another attribute of dynamically typed data).
>>
>> Dynamic interfaces are also different from static ones because the
>> interface isn't _implemented_ by a type, it's _matched_ by a type,
>> which means, that if a type fits into an interface at run-time, i can
>> safely cast it to that interface type and work with it.
>>
>> Being able to obtain the dynamic version of a delegate would be great
>> to pass around generic callbacks.
>
> Have you looked into opDispatch?
>
> I think with opDispatch and some Variant[string] member, you should be able
> to implement fully dynamic types.  I think even some have done this in the
> past (even if only for proof of concept).
>
> -Steve
>

Reply via email to