June 15, 2013 Re: Expression evaluation order | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timon Gehr | On 06/15/2013 07:44 PM, Timon Gehr wrote:
> ...
>>
>> It seems natural to me that the stuff on the associated side would be
>> evaluated
>> before the stuff on the other, but that doesn't mean that it's the
>> best way to
>> go. It's just what I would have expected. So, if there's a good reason
>> to do
>> it differently, then I don't necessarily have a problem with that.
>>
>> - Jonathan M Davis
>>
>
> Well, I can't think of a _good_ reason now. :)
> ...
Correction: The conditional operator is right-associative, but evaluation necessarily proceeds LTR.
|
June 15, 2013 Re: Expression evaluation order | ||||
---|---|---|---|---|
| ||||
Posted in reply to monarch_dodra | On 6/13/2013 11:14 PM, monarch_dodra wrote:
> 3) specifically unspecified
> 3.5) error when compiler sees ambiguity
>
> I'm personally in favor of 3, with some 3.5 as a warning.
Having a warning for that is "boy who cried wolf", as most functions have side effects and any expression like:
f() + g()
would generate such a warning.
|
June 15, 2013 Re: Expression evaluation order | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Saturday, 15 June 2013 at 17:50:39 UTC, Walter Bright wrote:
> On 6/13/2013 11:14 PM, monarch_dodra wrote:
>> 3) specifically unspecified
>> 3.5) error when compiler sees ambiguity
>>
>> I'm personally in favor of 3, with some 3.5 as a warning.
>
> Having a warning for that is "boy who cried wolf", as most functions have side effects and any expression like:
>
> f() + g()
>
> would generate such a warning.
Well, why would that throw a warning?
I didn't mean expressions that *could* raise an ambiguity, but when the compiler *catches* that there *will* be ambiguity.
|
Copyright © 1999-2021 by the D Language Foundation