The order of evaluation is undefined within the C spec, thus it's undefined within the Perl spec.
I understand the reasoning behind this decision in C, but my question really centres upon one word in the sentance I quoted above: "thus". The most salient definition of that word in relation to that sentance is:
Therefore; consequently:
Does it follow that because code could be made more efficient at the C-level by not defining execution order, that the same would be true for Perl? Given that most of not all Perl opcodes are fairly heavy relative to the equivalent C code, I wonder if there is any real scope for improving efficiency at the Perl level by not defining execution order.
Ultimately, I wonder if Perl 6 could define an execution order without penalty? And whether that would be a good thing to do in terms of the usability and teh principil of least surprise?
In reply to Re^2: Why is the execution order of subexpressions undefined?
by BrowserUk
in thread Why is the execution order of subexpressions undefined?
by BrowserUk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |