stdio line-streaming revisited

kris foo at bar.com
Thu Mar 29 15:34:16 PDT 2007


Andrei Alexandrescu (See Website For Email) wrote:
> kris wrote:
> 
>> Frits van Bommel wrote:
>>
>>> Yes, call-chaining can only evaluate left-to-right, but the 
>>> parameters *passed* to the calls can be evaluated in any order.
>>
>>
>> That's not at stake here, as far as I'm aware?
> 
> 
> My understanding is that it was brought up by yourself in an attempt to 
> explain that Cout("Hello, ")(Cin.get) will work properly. There was an 
> old thread mentioned, which deals with another problem entirely. So that 
> doesn't apply. Now I understand that argument has been dropped entirely, 
> and that now there is an argument that Cout("Hello, ")(Cin.get) works 
> due to some other unmentioned reasons.

Then I politely suggest you are either badly confused, being entirely 
disengeneous, or are drunk ;-)

There never was any argument of which you claim. I simply noted that 
eval-order had been clarified before, using your usage of "eval-order" 
from within the same post. If you revisit, you'll see that was actually 
  referring to call-chaining instead, so there's perhaps a misuse of terms:

    Cout.opCall("Hello, ").opCall(Cin.get);

As you can see, there is only one parameter passed to each call, and 
therefore the order of /parameter/ eval is "not at stake here" (as I 
noted to Frits). What I had referred to vis-a-vis the prior thread was 
simply that call-chaining had been resolved in terms of eval-order. It 
evaluated left to right.

I'd try to help you understand all of the 'questions' you've recently 
brought up, but you don't appear to be the slightest bit interested in 
trying to understand much; sadly. I'm open to real discussion if that's 
what you'd prefer, yet your demeanour has been and continues to be that 
of someone with a hidden adgenda or with a axe to grind. If you'll drop 
that attitute forthwith, I'll be happy to continue



More information about the Digitalmars-d mailing list