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.

Reply via email to