On Thursday, 7 November 2013 at 15:55:47 UTC, Jonathan M Davis
wrote:
Then should public and private be @public and @private in order
to be
consistent? Then we'd be inconsistent with C++, Java, C# etc.
which would make
it that much harder for folks to learn D. Would you want
@static and @const?
One thing experimented with in Volt (D derivative) design is that
all stuff that affects mangling/ABI gets own keyword without "@"
and all stuff that fades away like UDA's is prefixed with "@".
This implies @public and @private, yes, but is quite a simple and
consistent rule on its own. We will see go it will work :) There
are some tricky corner cases of course with stuff like @nogc/nogc.
P.S. There was a mention that introduction of UDA's has made
addition of new @-prefixed built-ins impossible without breakage.
It is not entirely true as symbols used in UDA's are qualified
and conform to normal symbol lookup rules. Only problem is that
built-in stuff is pure magic and has no own module.