Walter Bright wrote: >> This is because to me, any asymmetric choice of evaluation order would be >> arbitrary and wrong. What's so special about left-to-right? > > Arbitrary, yes. Wrong? no - specifying it removes another source of > potential user bugs. Left-to-right is natural because that's the way we > read things.
I'm sure you are aware that entire cultures read things right-to-left. Anyway, don't think I don't see your reasoning. I can argue your point: * Even though both are equally well-defined behavioral contracts, many people will understand a fixed sequential order better than non-deterministic choice, so might cause more bugs in the latter case. * D already contains English keywords and English libraries. It's already dominantly western, so left-to-right won't be unexpected. I just have this quest for a beautiful and elegant programming language. In such a language, the order of side-effects should not matter in any operation (not just function calls). Operators that are commutative in math (and, or, +, *) should be commutative in the programming language too, regardless of side-effects and short-circuiting (which would still be possible, ask me how). But I understand why D places more value on practicality than beauty and elegance. -- Michiel Helvensteijn