From: mordor.nospam@fly.srk.fer.hr   
      
   On 2013-01-30, goran.pusic@googlemail.com wrote:   
   >>   
   >> I'm well aware of these issues in contexts that don't have to do with IO.   
   >> HOWEVER, IO is special because the order of evaluation very much matters.   
   >   
   > This is a mere assertion.   
      
   Yes, and...? Assertions have a truth value and you have not written   
   anything that falsifies mine. You're only giving more examples of C++   
   doing the (IMO) wrong thing.   
      
      
   > Why only IO?   
   >   
   > ANY operation where side-effects combined with "liberty" in order of   
   > evaluation matters. Imagine that "whatever" in my example is followed by:   
      
   Exactly, and that's what Haskell folks got right (IO monad, which is not   
   meant only for IO but in general for code with side effects -- where order   
   of evaluation matters).   
      
   The C++ standard *could have* forced left-to-right order of evaluation when   
   the compiler cannot disprove side-effects (basically, function and method   
   calls). It didn't, and I consider this as a defect in the language (you're   
   of course free to disagree). Alongside of many other defects inherited   
   from C, which could have been addressed, but haven't.   
      
      
   > Well, it isn't, and your claim that   
   > you're aware of that when calling a function is nothing more than   
   > hand-waving,   
      
   Now I'd really like to know what makes you feel qualified to give   
   statements about my awareness and state of mind.   
      
      
   --   
    [ See http://www.gotw.ca/resources/clcm.htm for info about ]   
    [ comp.lang.c++.moderated. First time posters: Do this! ]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|