On Wednesday, 28 January 2015 at 19:04:50 UTC, Andrei
Alexandrescu wrote:
It may be the case you're using different definitions of the
term "contextual keyword". Far as I can tell you want the
identifier "nogc" be recognized in certain places by the
compiler as special, and otherwise just not be special at all.
That's a contextual keyword. If that's the case you were well
understood by both Walter and myself. I happen to recognize the
merit of contextual keyword in general, but Walter has a
stronger opposition to it. It doesn't seem to me this
particular application is compelling enough to warrant the
precedent. -- Andrei
Ok now we're getting somewhere. I guess the next thing I'd like
to ask is what is the argument against having a word be a
function attribute in one instance and a regular identifier in
another?
I would think the reason would be it could make the grammar
ambiguous. That's why I proposed it only be valid on the right
hand side of the function to guarantee it doesn't introduce any
ambiguity. Other then that, I don't see any reason why it's a
bad thing. It doesn't make the syntax more complicated, it
doesn't maker it harder to parse, I just don't see why its bad.
Note: keep in mind...I'm not asking why it's bad to have a
keyword (recognized as a keyword by the lexer) also be an
identifier, I'm asking why it's bad to have a function attribute
also be an identifier.