Operator Associativity - Non-associative Operators

Non-associative Operators

Non-associative operators are operators that have no defined behavior when used in sequence in an expression. In Prolog, the infix operator :- is non-associative because constructs such as "a :- b :- c" constitute syntax errors.

Another possibility distinct from left- or right-associativity is that the expression is legal but has different semantics. An example is the comparison operators (such as >, ==, and <=) in Python: a < b < c is shorthand for (a < b) and (b < c), not equivalent to either (a < b) < c or a < (b < c).

Read more about this topic:  Operator Associativity