On Mon, 12 Oct 2009 14:27:21 -0400, Jarrett Billingsley <jarrett.billings...@gmail.com> wrote:

On Mon, Oct 12, 2009 at 1:21 PM, language_fan <f...@bar.com.invalid> wrote:
Mon, 12 Oct 2009 13:04:03 -0400, Jarrett Billingsley thusly wrote:

On Mon, Oct 12, 2009 at 10:47 AM, Don <nos...@nospam.com> wrote:

Wasn't the comma operator to be supposed to be important for automatic
code generation?

It's used frequently in in the compiler internals. EG, given

int foo(X x = default_value) { return 0; } then foo(); becomes:   (X
tmp = default_value, foo(tmp));

There doesn't need to be any *syntactic* reservation for something
that's used internally by the compiler. I mean, we don't have to
explicitly mark which brace blocks introduce scopes, but ScopeStatements
are alive and well inside the compiler. CommaExp could just become
"SequenceExp" or something and it would have the exact same effect. I
really don't think there will be a lot of moaning if comma expressions
disappeared. And yes, for loop increments can be special-cased, geez..

But it breaks the holy C compatibility. When a C veteran with 40+ years
of C development experience under their belt studies D by porting a 1
MLOC library to D 2.0, his code will fail as the precious old comma does
not compute sequencing, but instead will produce a nasty compile error.
Porting the code in a single go will not be possible anymore and reddit
commentators will literally crush D.


Fuck C.

Jarrett, I think you lost the sarcasm in his post :)

-Steve

Reply via email to