Why the @ in @safe? & UDAs

Dicebot public at dicebot.lv
Thu Nov 7 08:24:37 PST 2013


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.


More information about the Digitalmars-d mailing list