DIP 1003 Formal Review

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Sat May 13 03:46:51 PDT 2017


On Saturday, May 13, 2017 08:50:10 via Digitalmars-d wrote:
> On Friday, 12 May 2017 at 16:17:03 UTC, Mike Parker wrote:
> > The first stage of the formal review for DIP 1003 [1], "Remove
> > body as a Keyword", is now underway. From now until 11:59 PM ET
> > on May 26 (3:59 AM GMT on May 27), the community has the
> > opportunity to provide last-minute feedback. If you missed the
> > preliminary review [2], this is your chance to provide input.
> >
> > At the end of the feedback period, I will submit the DIP to
> > Walter and Andrei for their final decision. Thanks in advance
> > to those of you who participate.
> >
> > [1]
> > https://github.com/dlang/DIPs/blob/fbb797f61ac92300eda1d63202157cd2a30ba
> > 555/DIPs/DIP1003.md
> >
> > [2]
> > http://forum.dlang.org/thread/qgxvrbxrvkxtimzvnetu@forum.dlang.org
>
> I vote for option 4 - a combination of 1 and 3:
> * Make body a contextual keyword
> * Allow omitting it
> * No need for deprecation
>
> I don't buy the argument against contextual keywords. D already
> has them. For example 'C++' can mean two things depending on the
> context:
>
> // 1:
> int C;
> C++;
>
> // 2:
> extern (C++) void foo();

Except that C++ is not a keyword anymore than linux is a keyword in

version(linux)

It's an identifier (albeit one that doesn't quite follow the normal naming
scheme for identifiers). D does not have contextual keywords, and Walter is
completely against adding them, so I'd expect that any proposal that
required them would be DOA. And not having them definitely simplifies
lexing and parsing D code, so it's quite understandable that Walter is
against them.

- Jonathan M Davis



More information about the Digitalmars-d mailing list