Haskell operator vs function precedence

Firstly, application (whitespace) is the highest precedence “operator”. Secondly, in Haskell, there’s really no distinction between operators and functions, other than that operators are infix by default, while functions aren’t. You can convert functions to infix with backticks 2 `f` x and convert operators to prefix with parens: (+) 2 3 So, your question is … Read more

Why does expression (true == true == true) produce a syntax error?

Association direction, which controls the order of operators having their arguments evaluated, is not defined for the == method, same as for ===, !=, =~ and <=> methods as well (all of which have the same precedence and form a separate precedence group exclusively). Documentation Thus evaluation order in case of multiple operators from the … Read more

Why is $a + ++$a == 2?

All the answers explaining why you get 2 and not 1 are actually wrong. According to the PHP documentation, mixing + and ++ in this manner is undefined behavior, so you could get either 1 or 2. Switching to a different version of PHP may change the result you get, and it would be just … Read more