after this question, I don’t know what to think.
In OCaml, if you do something like -1.0**2.0 (because of the typing you need to have float), you obtain 1.00. According to the standard order of operations, the result should be -1 (as in python).
I wasn’t able to find the reason or a clear definition of the operator precedence in OCaml…
Is this because of the type system ? or the fact that there’s a binding underneath with pow ?
Operator precedence is syntax-directed in OCaml, which means that the first character of the function identifier (and whether it’s unary or binary) determines the operator precedence according to a fixed sequence. Contrast this with languages like Haskell, where the operator precedence can be specified at function definition regardless of which characters are used to form the function identifier.