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.