On Wednesday, 28 January 2015 at 16:39:51 UTC, Jonathan M Davis wrote:
I don't see what any of that has to do with which attributes have @ on them or not.

As I said, I misinterpreted what you wrote. You came through as being overly defensive when it comes to accepting a syntax with bad usability.

It does affect both usability and marketing what the syntax looks like and whether the terminology is consistent with definitions. It sends signals about the design and the implementation that will be picked up by people who evaluate the language. For instance, the syntax of Cray's Chapel sends strong signals of the designers know what they are doing, so I am more inclined to give it a spin...

If we could start from scratch and guarantee that no new attributes would ever be introduced, then we could just put @ on none of them and thus be fully consistent. But we can't start from scratch, and we can't guarantee
that there will be no new attributes.

Of course you can, but you need to get the semantics right first.

There may be set of changes that would ultimately be better enough that they'd be worth making - where the pros are generally considered to outweigh the cons - but we'll be stuck with the cons regardless, and I seriously question that any change to attribute names is enough of an improvement to merit the code breakage that it would cause, even if it were objectively
better.

That's one viewpoint. An alternative viewpoint is that when/if D has reached a stable state, then it is a relatively small task for someone (1-2 people) to fork the language, design a new grammar and implement a parser for it that maps to the compiler internals. It is not a big project to write a new parser if the rest is stable.

Syntactical code breakage is not a real problem, since:

1. the D corpus is small
2. transpilers can do source-to-source compilation
3. a compiler can include multiple parsers for the same language semantics

Except... string mixins.

Reply via email to