On Wed, Apr 25, 2018 at 10:14:11PM -0700, Łukasz Langa wrote: > So only use the Pascal one in expressions. But don't forget > parentheses, otherwise it will bind the thing you probably didn't want > anyway.
Binding expressions are no worse than any other expression: sometimes you need to bracket terms to change the default precedence, and sometimes you don't. And sometimes, even if we don't *need* parens, we use them anyway because it makes the expression easier to read and understand. Unless you have a language with no operator precedence at all, a purely left-to-right evaluation order like Forth or (I think?) APL, there will always be circumstances where parens are needed. Criticising binding- expressions for that reason, especially implying that we must always use parens, is simply FUD. [...] > As soon as we have to wrap a part of an expression in parentheses, > parsing the entire thing becomes more complex. Unless it becomes less complex to read and understand. I for one always have difficulty parsing complex boolean tests unless I bracket some or all of the parts, even when they're not strictly needed. Consequently I try very hard not to write complex bool tests in the first place, but when I can't avoid it, a few extra brackets really helps simplify the logic. > Often enough it will > cause the expression to exceed whatever line length limit the codebase > pledged not to exceed, causing one line to become three. Just how often are your lines within two characters of the maximum column so that adding a pair of brackets () will "often enough" put it over the limit? Seems pretty unlikely to me. This sounds really like picking at straws. -- Steve _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com