On Thursday, 15 December 2016 at 21:19:30 UTC, Meta wrote:
On Thursday, 15 December 2016 at 15:31:40 UTC, Basile B. wrote:
On Sunday, 11 December 2016 at 20:27:36 UTC, Meta wrote:
On Sunday, 11 December 2016 at 11:33:40 UTC, Basile B. wrote:
DIP 1003 is faddish. It would really be better to have a system that would allow any keyword to be used as identifier. An escape system is the key.

It would also guarantee that the DIP would not be accepted. With this DIP I aimed

Sorry in a previous post there's been a confusion from my part, I thought the author was "Cauterite".

for the smallest possible change that would alleviate the problem of not being able to use `body` as a symbol name, hoping that the smallness of the problem and ease of implementation would make it much more likely to be accepted.

I won't insist too much but to be clear, the escape solution is incredibly simple to implement (7 SLOC !). I've decided to go further in order to demonstrate it:

https://github.com/dlang/dmd/pull/6324

I saw your PR but I don't really agree that it's a good solution. If you have to preface the symbol with # then you might as well just use a trailing underscore, like "body_".

No, there are 2 differences.

- 1: even if in the source you write #body, the identifier, as known by the compiler, is really just "body", like shown in the test that uses `pragma(identifier)`. For example a serializer would write "body" without any kind of processing (unlike what 's to be done using the basic underscore solution).

- 2: the underscore is a valid identifier char, # is not so you cannot distinguish a keyword suffixed with an underscore because it might be intentional, i.e part of the identifier.


Reply via email to