On 2/28/2014 8:59 PM, Dicebot wrote:
On Friday, 28 February 2014 at 01:16:41 UTC, Mike Parker wrote:
Ideally, I'd love for the compiler to pick up on this idiom and not
generate any typeinfo in this situation.

Ideally one should use modules as namespaces :P

I don't buy that. That works fine to resolve conflicts, but it doesn't work for fine-grained namespace management. And when using named imports, that means everything in the module then belongs to that namespace, which isn't at all what I want. Besides which, using either fully-qualified names or named imports puts the impetus on the caller. If I design my modules around namespaces with the understanding that the caller will type foo.bar.myfunc all the time, there are bound to be conflicts when they forget to do it.

On the other hand, by wrapping my namespaced stuff in structs or classes, I can have multiple namespaces per module, some things completely outside the namespace, and the user gets a compiler error if they don't use it. To me, that's much, much neater.

Reply via email to