You're not making any sense. Forget about TERMs - they are irrelevant. Why does it matter whether we load $a from memory before $b in $a * $b? It can't. It can only matter when we're dealing with EXPRessions (or subexpressions or subsubexpressions - these are all still expressions), including, but not limited to, function or method calls.

In every case where defining EO will mean something to the developer, it means "serialisation" to the compiler. It's just that simple.

Defining EO restricts the perl VM to serial behaviour, leaving it undefined allows the VM the flexibility to parallelise some expressions. That is the answer to the original question. You have almost admitted it, although you probably don't see how you did. "With EO defined, there is no abiguity about what order those sub expression must be resolved." Exactly correct. Violent agreement. With EO defined, serialisation is a requirement. The logical negation of this is not that without defined EO, serialisation is not allowed, but that without defined EO, parallelism is permitted.

And there are a number of us who are looking forward to automatic parallelisation that is just simply possible with undefined EO, and is simply impossible with defined EO.


In reply to Re^27: Why is the execution order of subexpressions undefined? by Tanktalus
in thread Why is the execution order of subexpressions undefined? by BrowserUk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.