On Mar 24, 11 22:25, piotrek wrote:
On Thu, 24 Mar 2011 21:37:12 +0800, KennyTM~ wrote:

On Mar 24, 11 19:00, sclytrack wrote:
== Quote from piotrek (star...@tlen.pl)'s article
On Wed, 23 Mar 2011 23:17:32 +0100, Alvaro wrote:
D already has a long list of keywords, reserved words can't be used
as identifiers, which can be annoying. "body" in particular is a
common noun that programmers would gladly use as a variable name in
physics simulation, astronomy, mechanics, games, health, etc. I think
"body" can be removed from D with no harm, and with the benefit of
allowing the name as identifier.
yes, please
body is also a html tag
Cheers
Piotrek

Copied the following line from the Vala (=mostly reference counted
language) web page.

"It is possible to use a reserved keyword as identifier name by
prefixing it with the @ character. This character is not part of the
name. For example, you can name a method foreach by writing @foreach,
even though this is a reserved Vala keyword."

My body is hungry and starving.



How is this better than _body or body_?

I think "@" is a little bit nicer, but it doesn't change the situation at all . 
body (if possible) shouldn't be a keyword.
Can anyone from the steering group state his opinion? :)

Cheers,
Piotrek

I agree body shouldn't be a keyword.

The @body solution doesn't work in D because:
  1. @identifier is already reserved for user attributes (@safe, etc.)
  2. What does @keyword.stringof (name of the variable) return?
if it returns "@keyword", then it is no different from using "_keyword"
      if it returns "keyword", you may break many string mixins.
3. @keyword exists in C# because the CLI isn't bound to any language, so a keyword in C# may not be a keyword in other CLI languages, and that would be got used. D shouldn't have this problem.

------

Speaking of which, how do we do

    extern(C) void body();

?

Reply via email to