News for hackers. Stuff that matters.
Re:We need to talk about parentheses by sokoloff on Monday February 12, 2024 @07:49AM (#39344211)
Alternatively, perhaps what you're observing is simply the graphical representation of the underlying mathematical precedence rules. (Obviously, over hundreds of years of symbolic math, the notation and precedence has co-evolved, with precedence probably generally, well, preceding notation.)

  y = x / 3 + 2

  y = 2 + x / 3

  y = x/3 + 2 
We all agree those are the same, despite a lack of an any cues in the first two. That suggests to me that there is a defined precedence for division vs addition in math. (So much so that it doesn't even seem like a controversial statement to make.)
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.

Re:We need to talk about parentheses by thaumasiotes on Monday February 12, 2024 @11:04AM (#39346425)
> Alternatively, perhaps what you're observing is simply the graphical representation of the underlying mathematical precedence rules.

This is nonsense. There are no underlying mathematical precedence rules. You're seeing precedence being represented visually, but there is no mathematical difference between 5 3 ADD 2 MUL and 5 3 2 MUL ADD.

MUL and ADD are just binary operators, or if you prefer, functions from U × U to U for some set U.

Your statement is particularly nonsensical as applied to the example you're supposedly responding to. Given some expressions:

    5 + 3     5           5
   ------- ; --- + 3 ; -------
      2       2         2 + 3
How do you even form the argument that the difference in interpretation is "simply the graphical interpretation of the underlying precedence rules"? The precedence rules here are obvious, because they don't exist:

- Division occurs between the upper operand and the lower operand

- Addition occurs between the left operand and the right operand

It's impossible for these to conflict, so there is no such concept as precedence.

(Precedence also doesn't exist between addition and addition because addition is associative. It is necessary between division and division, and the system is straightforward: lower precedence is indicated by longer lines. Tell me about the underlying mathematical precedence rule that determines that.)

Re:We need to talk about parentheses by sokoloff on Monday February 12, 2024 @11:51AM (#39347121)
> There are no underlying mathematical precedence rules.

You might want to correct the information here then:

https://en.wikipedia.org/wiki/Order_of_operations#Convention...

Re:We need to talk about parentheses by thaumasiotes on Monday February 12, 2024 @01:40PM (#39348585)
What do you think I'd want to correct? That page says the same thing you've already been told twice: there is no underlying mathematics, and the meaning of the notation is defined by the notation. Here's a quote:

> These rules are meaningful only when the usual notation (called infix notation) is used. When functional or Polish notation are used for all operations, the order of operations results from the notation itself.

You could "correct" that to observe that "the order of operations results from the notation itself" is true of all notation, including infix notation, but why? It's not wrong now.

Can you really not tell the difference between "notation" and "math"?

Re:We need to talk about parentheses by samatman on Monday February 12, 2024 @04:47PM (#39350979)
"Order of operations" is the order in which operations proceed. Hence precedence.

They aren't a fact about mathematics. They're a fact about notation. Operator precedence and order of operations are synonymous.