Say, you have a defined order of evaluation, and you define
the order of evaluation for comma in list context from
left to right. You also have lazy evaluation.
Now, in the following expression, which one will be evaluated
first, g() or h():
sub f ($$) {$_ [1] && $_ [0]}
f (g (), h ())
The biggest problem I have with defining the order of evaluation
is that people will start to write code that depends on it.
It will mean that the code is fragile, and. specially in
combination with lazy evaluation, hard to understand. If the
order of evaluation is undefined, the code has to be correct,
no matter in which order it's evaluated. That makes code
easier to understand (because any order I choose is ok).
Abigail | [reply] [d/l] |