Examples Wanted: Usages of "body" as a Symbol Name

pineapple via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 5 12:30:27 PDT 2016


On Wednesday, 5 October 2016 at 19:02:02 UTC, Basile B. wrote:
> On Wednesday, 5 October 2016 at 18:41:02 UTC, Jacob Carlborg 
> wrote:
>> On 2016-10-05 19:14, Matthias Klumpp wrote:
>>
>>> Agreed - I have exactly the same problem with "version", 
>>> which is also
>>> really common for, well, to hold a version number of a 
>>> component. Body
>>> is annoying too.
>>>
>>> But, can keywords actually sanely be removed from the 
>>> language without
>>> breaking the world?
>>
>> In Ruby most keywords are not reserved words. a.`def`()
>
> D context free grammar allow fast highlighting. I understand 
> that people who write scripts think that it won't change 
> anything...but it's not the reality. D is a system programming 
> language, people who use D can deal with code base > 60 Kloc. 
> And we don't want to see such a change because you can't use 
> "body" in your student project.

In general I don't think this is a problem, but `body` is an 
unconventional term to have as a keyword. The other keywords that 
are used for function contracts (`in` and `out`) are also used in 
other places - perhaps `body` could be deprecated and eventually 
removed in favor of using another keyword instead? Either 
another, different keyword that is less likely to collide with 
common attributes of user types, or an existing keyword not 
meaningful in the same context.

There may also be a case for making `body` implicit - e.g.

     void func() in{
         //
     }out{
         //
     }body{
         //
     }

Would become

     void func() in{
         //
     }out{
         //
     }{
         //
     }

I don't think this is of critical importance, but dealing with 
this somehow would definitely be a step in the right direction.


More information about the Digitalmars-d mailing list