March 28, 2011
On 3/23/2011 3:17 PM, 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.

Body is not strictly necessary to parse it. But it makes for a nice "anchor" when the in and out clauses get long.

In any case, we are currently working on getting temp destruction to work correctly, and after that we'll work on fixing issues with const. I think these are the most important things we should be working on at the moment.
March 28, 2011
On 2011-03-27 22:23, Walter Bright wrote:
> On 3/23/2011 3:17 PM, 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.
> 
> Body is not strictly necessary to parse it. But it makes for a nice "anchor" when the in and out clauses get long.
> 
> In any case, we are currently working on getting temp destruction to work correctly, and after that we'll work on fixing issues with const. I think these are the most important things we should be working on at the moment.

I'll be _very_ excited to have both the destructor issues and the const issues sorted out. They are some of the more annoying quality of implementation issues at the moment.

I'm not against body no longer being a keyword if it's reasonable to leave the language as-is, as has been suggested here, and not have body be a keyword, but I have to concur that it's not exactly a high priority issue. However, it's much easier to discuss, which is probably part of the reason that it's being discussed so much.

Then again, in many cases at this point, what we need isn't really more suggestions on how to improve the language or libraries but help in implementing improvements. Suggestions are by no means bad, but given everything else that needs doing and how few people there are to do it, suggestions are not likely to be implemented soon, even if they're good.

If no one has done so already, this suggestion would be worth creating an enhancement request in bugzilla for, but I'd much rather see other quality of implementation issues fixed rather than have such an enhancement implemented right now. The enhancement is nicely backwards compatible, so it can be done at any point in time later without breaking any code or having to way for a possible D3.

- Jonathan M Davis
March 28, 2011
On 3/27/2011 10:35 PM, Jonathan M Davis wrote:
> I'll be _very_ excited to have both the destructor issues and the const issues
> sorted out. They are some of the more annoying quality of implementation
> issues at the moment.

Yes, I agree those are the top priority at the moment, now that we have the 64 bit compiler online and the worst of the optlink issues resolved.
July 28, 2013
Hate to reopen old threads.. but I didn't find another one on this topic.

Supposing someone wants to implement a browser in D.
And his bindings to JavaScript need to expose HTMLDocument.body property.
Is that a use case that would work for allowing body not to be a keyword?

--
Vlad
November 18, 2017
On Monday, 28 March 2011 at 18:59:03 UTC, Walter Bright wrote:
> On 3/27/2011 10:35 PM, Jonathan M Davis wrote:
>> I'll be _very_ excited to have both the destructor issues and the const issues
>> sorted out. They are some of the more annoying quality of implementation
>> issues at the moment.
>
> Yes, I agree those are the top priority at the moment, now that we have the 64 bit compiler online and the worst of the optlink issues resolved.

NECRO ALERT...

But I just saw that https://github.com/dlang/DIPs/blob/master/DIPs/DIP1003.md was addressed with https://github.com/dlang/dmd/pull/6855 .

I, for one, will miss 'body' the keyword.  Now I'll have to update all my toy code.

(Just kidding, I don't mind updating my toy code.  At least it isn't a codebase the size of Photoshop!)
November 18, 2017
On Saturday, 18 November 2017 at 16:21:30 UTC, Eljay wrote:
> On Monday, 28 March 2011 at 18:59:03 UTC, Walter Bright wrote:
>> On 3/27/2011 10:35 PM, Jonathan M Davis wrote:
>>> [...]
>>
>> Yes, I agree those are the top priority at the moment, now that we have the 64 bit compiler online and the worst of the optlink issues resolved.
>
> NECRO ALERT...
>
> But I just saw that https://github.com/dlang/DIPs/blob/master/DIPs/DIP1003.md was addressed with https://github.com/dlang/dmd/pull/6855 .
>
> I, for one, will miss 'body' the keyword.  Now I'll have to update all my toy code.
>
> (Just kidding, I don't mind updating my toy code.  At least it isn't a codebase the size of Photoshop!)

It would be easy to update anyway. Scan for body statements in your code and just replace it lol.
November 18, 2017
On Saturday, 18 November 2017 at 16:21:30 UTC, Eljay wrote:
> On Monday, 28 March 2011 at 18:59:03 UTC, Walter Bright wrote:
>> On 3/27/2011 10:35 PM, Jonathan M Davis wrote:
>>> I'll be _very_ excited to have both the destructor issues and the const issues
>>> sorted out. They are some of the more annoying quality of implementation
>>> issues at the moment.
>>
>> Yes, I agree those are the top priority at the moment, now that we have the 64 bit compiler online and the worst of the optlink issues resolved.
>
> NECRO ALERT...
>
> But I just saw that https://github.com/dlang/DIPs/blob/master/DIPs/DIP1003.md was addressed with https://github.com/dlang/dmd/pull/6855 .
>
> I, for one, will miss 'body' the keyword.  Now I'll have to update all my toy code.
>
> (Just kidding, I don't mind updating my toy code.  At least it isn't a codebase the size of Photoshop!)

Don't worry, you've got a few years yet. Currently `body`is not even deprecated; it's become a conditional keyword, or you can use `do` in its place.
November 19, 2017
On Saturday, 18 November 2017 at 19:22:25 UTC, Meta wrote:
> On Saturday, 18 November 2017 at 16:21:30 UTC, Eljay wrote:
>> On Monday, 28 March 2011 at 18:59:03 UTC, Walter Bright wrote:
>>> On 3/27/2011 10:35 PM, Jonathan M Davis wrote:
>>>> I'll be _very_ excited to have both the destructor issues and the const issues
>>>> sorted out. They are some of the more annoying quality of implementation
>>>> issues at the moment.
>>>
>>> Yes, I agree those are the top priority at the moment, now that we have the 64 bit compiler online and the worst of the optlink issues resolved.
>>
>> NECRO ALERT...
>>
>> But I just saw that https://github.com/dlang/DIPs/blob/master/DIPs/DIP1003.md was addressed with https://github.com/dlang/dmd/pull/6855 .
>>
>> I, for one, will miss 'body' the keyword.  Now I'll have to update all my toy code.
>>
>> (Just kidding, I don't mind updating my toy code.  At least it isn't a codebase the size of Photoshop!)
>
> Don't worry, you've got a few years yet. Currently `body`is not even deprecated; it's become a conditional keyword, or you can use `do` in its place.

It may be deprecated, but someone completely removed it from the documentation on contracts. That could cause some confusion for people using older versions of the compiler.

https://dlang.org/spec/contracts.html
November 19, 2017
On Sunday, 19 November 2017 at 04:57:11 UTC, Tony wrote:
> On Saturday, 18 November 2017 at 19:22:25 UTC, Meta wrote:
>> On Saturday, 18 November 2017 at 16:21:30 UTC, Eljay wrote:
>>> [...]
>>
>> Don't worry, you've got a few years yet. Currently `body`is not even deprecated; it's become a conditional keyword, or you can use `do` in its place.
>
> It may be deprecated, but someone completely removed it from the documentation on contracts. That could cause some confusion for people using older versions of the compiler.
>
> https://dlang.org/spec/contracts.html

That's what the docarchives are for: https://docarchives.dlang.io/v2.074.0/spec/contracts.html
November 19, 2017
On Sunday, 19 November 2017 at 07:21:32 UTC, Seb wrote:
> On Sunday, 19 November 2017 at 04:57:11 UTC, Tony wrote:
>> On Saturday, 18 November 2017 at 19:22:25 UTC, Meta wrote:
>>> On Saturday, 18 November 2017 at 16:21:30 UTC, Eljay wrote:
>>>> [...]
>>>
>>> Don't worry, you've got a few years yet. Currently `body`is not even deprecated; it's become a conditional keyword, or you can use `do` in its place.
>>
>> It may be deprecated, but someone completely removed it from the documentation on contracts. That could cause some confusion for people using older versions of the compiler.
>>
>> https://dlang.org/spec/contracts.html
>
> That's what the docarchives are for: https://docarchives.dlang.io/v2.074.0/spec/contracts.html

OK, but how would someone who is looking at:

https://docarchives.dlang.io/v2.074.0/spec/contracts.html

know what version of the compiler it applies to and where to find older documentation for their version of the compiler?