std.simd

David Nadlinger see at klickverbot.at
Fri Mar 16 06:24:58 PDT 2012


On Thursday, 15 March 2012 at 23:32:29 UTC, Robert Jacques wrote:
> Then you should to leave namespace room for that higher level 
> library.

What makes you thing that there would be only one such high-level 
library wanting to define a floatN type?

There is no such thing as a global namespace in D (well, one 
could probably argue that the things defined in object are). 
Thus, I don't see a problem with re-using a name in a third-party 
library, if its a good fit in both places – and you'll probably 
have a hard time coming up with a better name for SIMD stuff than 
float4.

If at some point you want to mix types from both modules, you 
could always use static or renamed imports. For example, »import 
lowlevel = std.simd« would give you »lowlevel.float4 
upVector;«, which might be clearer in the context of your 
application than any longer, pre-defined name could ever be.

True, we shouldn't generally pick very likely-to-collide names by 
default just because we can so, but denying the existence of the 
D module system altogether is going to set us back to using 
library name prefixes everywhere, like in C (and sometimes C++) 
code.

David


More information about the Digitalmars-d mailing list