On Saturday, 3 June 2017 at 04:56:40 UTC, MysticZach wrote:
On Friday, 2 June 2017 at 14:17:10 UTC, Mike Parker wrote:
Congratulations are in order for Jared Hanson. Walter and
Andrei have approved his proposal to remove body as a keyword.
I've added a summary of their decision to the end of the DIP
for anyone who cares to read it. In short:
* body temporarily becomes a contextual keyword and is
deprecated
* do is immediately allowed in its place
* body is removed and do replaces it fully
Congratulations, Jared!
https://github.com/dlang/DIPs/blob/master/DIPs/DIP1003.md
Yes, congratulations are in order. Although those of us who
were questioning the need for any keyword at all in `body`s
place may be a little disappointed that it has merely been
replaced with `do`, I think no one can doubt the main thrust of
the DIP, which is that `body` is an incredibly useful
identifier, and that having it newly available makes D a better
language.
Personally, making contracts less verbose and more powerful is
much higher on my list (I don't remember ever needing to use
'body' as an identifier, but I see why is it important for many
domains), so I'm also disappointed that we replaced one keyword
with another. At least 'body' will be a contextual keyword, so it
won't cause a massive breakage.
Also, I've been following the forums for several years now, and
this is the first DIP that I know of that was not written by
the language authors, and yet was still accepted into the
language. Correct me if I'm wrong, but that seems like a real
landmark!
Yes, it's the first approved DIP after DIP1000, but there are
quite a few approved DIPs not coming Walter and Andrei before
that: https://wiki.dlang.org/DIPs - DIP2, DIP3, DIP6, DIP9 (it
seems it got traction, even though it doesn't say approved)
DIP12, DIP18 (it looks like it was the first @nogc proposal)
DIP20, DIP37, DIP42, DIP43 (it's partially implemented), and so
on.
Actually most language enhancements happened without going
through the DIP process. These are that went through bugzilla:
https://issues.dlang.org/buglist.cgi?bug_severity=enhancement&bug_status=RESOLVED&component=dmd&list_id=215170&order=bug_id&product=D&query_based_on=&query_format=advanced&resolution=FIXED&version=D2 and many other exist only as pull requests on GitHub - a very incomplete list: https://github.com/dlang/dmd/pulls?utf8=✓&q=is%3Apr%20is%3Aclosed%20enhancement. If you look carefully at the history in bugzilla and github, even though probably most of the enhancements were little, you'll see there many huge changes to the language that should have gone through the DIP process, but have not.
Also Mike Parker seems to be doing a very good job in his
appointed position as DIP manager.
Agreed, I'm optimistic about the DIP process under his lead.