in reply to Re^19: Why is the execution order of subexpressions undefined?
in thread Why is the execution order of subexpressions undefined?

And? I didn't suggest otherwise. I mention Erlang as a counter to the monads fudge of Haskell.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco.
Rule 1 has a caveat! -- Who broke the cabal?

Replies are listed 'Best First'.
Re^21: Why is the execution order of subexpressions undefined?
by Anonymous Monk on Apr 15, 2005 at 02:32 UTC
    But that's the whole reason evaluation order doesn't matter in Erlang. And lack of that feature in Perl is exaclty the cause of all your problems.
      But that's the whole reason evaluation order doesn't matter in Erlang.

      As I already pointed to the other anonymonk, I did not mention Erlang in that context. Only as a (preferable) altenative to Haskell, especially with regard to it's treatment of concurrency, so stop stating the obvious.

      And lack of that feature in Perl is exaclty the cause of all your problems.

      I don't have any problems. I never did. Read the title of the thread, I simply asked why.

      And so far, noone has offered a single good reason why EO should not be defined in Perl, nor countered my assertion that Perl does not benefit from it's being undefined in terms of efficiency, which is the only reason so far offered.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      Lingua non convalesco, consenesco et abolesco.
      Rule 1 has a caveat! -- Who broke the cabal?

        I would disagree. The ability to parallelise in perl6 is an awesome reason to leave EO undefined. Defining EO necessarily serialises statements, which would prevent future perl interpreters from automatically threading inside single, complex statements, and thus gaining huge amounts of efficiency on multi-processor systems.

        This is more than a good reason, and has been offered.

        Perl, as it is today, probably does not benefit from undefined EO. Perl as it may be in the future, would be hamstrung by an attempt today to define EO, as we would not be able to offer backwards compatability. True, perl6 does not offer backwards compatability with perl5. But who says perl 5.12 won't finally have a working, stable threading system built-in, and be able to use it?

        And so far, noone has offered a single good reason why EO should not be defined in Perl
        It is bad form to code like you want to. Just like goto. It makes the code ugly and hard to understand. But of course this point has been made a number of times already, you just choose to ignore it.