On Friday, 26 August 2016 at 18:58:25 UTC, Jonathan M Davis wrote:
On Friday, August 26, 2016 17:59:39 Cauterite via Digitalmars-d wrote:
On Friday, 26 August 2016 at 14:16:27 UTC, Brian wrote:
> package application.module.user.model;

I get "Error: identifier expected following '.' instead of
'module'"
So I'm not sure how that compiles for you.

I think that he's looking for a language change that would allow you to use keywords in contexts where the keyword would not be valid. It's been suggested before, but it was rejected. If nothing else, it doesn't at all play nicely with how lexers and parsers normally work. It's _far_ cleaner if the compiler can treat a keyword as a keyword in all contexts that it's used. Not doing so makes the grammar context-dependent, whereas Walter has gone to great lengths to make it completely context-free.

- Jonathan M Davis

As Timon said, this won't make the grammar context dependent. Also, C# has the concept of contextual keywords. Such keywords have special meaning in certain contexts but are otherwise available for use as identifiers. C# also allows to use normal keywords as identifiers, but you have use the @for syntax to disambiguate (e.g. see http://rextester.com/JBOTC21251). From my experience of using C# the system is well designed and I have never seen problems in practice. I'm sure something similar can successfully be implemented for D. Though I would consider such enhancement with low priority.

See https://msdn.microsoft.com/en-us/library/x53a06bb.aspx for more info.

Reply via email to