News for hackers. Stuff that matters.
Re:We need to talk about parentheses by tsimionescu on Monday February 12, 2024 @08:06AM (#39344338)
Precedence rules always apply to a specific textual notation. There is no precedence between division and addition, there is a precedence between the / and the + operators.

People are generally bad at remembering arbitrary operator precedence rules. That is why most math notation doesn't rely on precedence rules to be unambiguous, it uses other kinds of textual clues. For example, the / operator is virtually never used in algebra. Instead, division is indicated by fractions, which explicitly group their operands and separate them from other adjacent operations. Exponentiation relies on super scripts to separate its arguments, making it extremely unambiguous at least which operations are part of the exponent and which the total. Roots use the radical symbol which extends over the entire expression you're taking the root of, and again rely on a kind of superscript for indicating which root you are taking. Limits and sums use subscripts to separate the iteration direction from the expression. Integrals use both sub and superscripts.

Re:We need to talk about parentheses by sokoloff on Monday February 12, 2024 @08:17AM (#39344414)
> Exponentiation relies on super scripts to separate its arguments, making it extremely unambiguous at least which operations are part of the exponent and which the total.

The textual representation even for exponents is not enough if you don't already know that exponentiation has higher precedence than multiplication.

"1 - 3xy + 2xy²"

Both of us know that only the y term is squared in that expression. How do we know that?

I claim that we know that because we know the precedence rules and that someone never exposed to our system of algebra would not inherently and unambiguously know that it was 2·x·(y²) rather than (2·x·y)² or even 2·(x·y)² merely by visual inspection of the expression.

This (the meaning of the above expression, including the precedence/grouping) is something that has to be taught in Alegbra/Prealgebra courses, and is something that some students struggle with.

Re:We need to talk about parentheses by tsimionescu on Monday February 12, 2024 @08:50AM (#39344691)
For expnentiation I was talking about something else:

   1+3
  x    + 4
In this case, the exponent notation makes it unambiguous that this is (x^(1+3))+4, and not x^(1+3+4).

I agree that xy² could mean both (xy)² and x(y²), and that perhaps you need to understand precedence to disbiguate. I would still contend that the notation is defined as "each term has its own exponent, possibly 1 which need not be written" to disambiguate, where terms are separated by parentheses or by other operators.

That is, in my mind, the grammar for usual algebraic notation is something like this:

  expression = term (op term)*
                                                   expression___________ (expression)? 
  term = (num | var | fraction | \( expression \) |        \/expression)

  op = + | - | / | × | ° etc
And the rules are that you first evaluate each term, and then the operators between the terms. You only need to follow precedence rules for those operators between terms, the evaluation of a term is unambiguous.
Re:We need to talk about parentheses by samatman on Monday February 12, 2024 @04:43PM (#39350932)
You appear to be inventing elaborate ways to talk about precedence without saying "precedence".

Precedence, under the term "order of operations", predates computers by several centuries. Which is not to apply that it was fixed in stone from the beginning, or perfectly consistent, but mathematics agreed on the modern rules universally in the first couple decades of the 20th century.