Fully dynamic d by opDotExp overloading
Leandro Lucarella
llucax at gmail.com
Fri Apr 17 13:49:19 PDT 2009
Nick Sabalausky, el 17 de abril a las 16:38 me escribiste:
> "Adam D. Ruppe" <destructionator at gmail.com> wrote in message
> news:mailman.1171.1239998473.22690.digitalmars-d at puremagic.com...
> > On Fri, Apr 17, 2009 at 03:54:47PM -0400, Nick Sabalausky wrote:
> >> What
> >> opDotExp is, is a tool of only occasional use that provides only a small
> >> benefit, *and* ends up destroying a much more important tool:
> >> compile-time
> >> checking on a class's members.
> >
> > Wouldn't the compile time checking remain the same on any class except
> > the Variant (or whatever) which implements the new operator?
> >
> > If it is constrained to one type, the destruction seems like it would be
> > acceptable. You can't trust much on a Variant at compile time anyway.
> >
>
> The problem is there would be no way to tell at a glance whether a given
> class uses opDotExp or not. You'd have to go look it up for every class. So,
> ok, we could solve that by requiring a different syntax for dynamic
> invokation. But we already have that: just pass a string to a dispatch
> function.
This is like foreach. In C a for loop is a for loop, you are never calling
a bizarre member function when looping. When you see code using foreach,
you have to go look the variable definition to see if it's a real array to
see what the looping is doing.
Do we need foreach? No, it's just syntax sugar. But I think it makes life
much more easier...
There is a lot of black magic already doing on that makes much harder to
see what's really going on with a piece of code (operator overloading?).
If you don't like that, you should probably stick to C =)
--
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)
More information about the Digitalmars-d
mailing list