On 2014-04-26 09:31:51 +0000, Walter Bright <[email protected]> said:

http://wiki.dlang.org/DIP61

Best practices in C++ code increasingly means putting functions and declarations in namespaces. Currently, there is no support in D to call C++ functions in namespaces. The primary issue is that the name mangling doesn't match. Need a simple and straightforward method of indicating namespaces.
...
As more and more people are attempting to call C++ libraries from D, this is getting to be a more and more important issue.

My opinion is that one shouldn't use namespaces in D.

But I do like this namespace concept. It sends the following message: you're welcome to use a namespace if you like -- it'll work -- but 99% of the time it'll only be some decoration in your source code that users of your API can ignore at will because everything is still available at module scope. (The 1% is when there is a name clash.) I think it's a practical thing to do to avoid fake namespace substitutes in D (look at std.datetime.Clock), even if it's a little dirty.

--
Michel Fortin
[email protected]
http://michelf.ca

Reply via email to