# What algebraic properties should new operator methods have?

**URL:** https://discourse.julialang.org/t/what-algebraic-properties-should-new-operator-methods-have/54576
**Category:** General Usage
**Tags:** question
**Created:** [February 4, 2021, 1:15am UTC](https://discourse.julialang.org/t/what-algebraic-properties-should-new-operator-methods-have/54576 "2021-02-04T01:15:14Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)
#### Post date: [February 4, 2021, 1:15am UTC](https://discourse.julialang.org/t/what-algebraic-properties-should-new-operator-methods-have/54576/1 "2021-02-04T01:15:14Z")

</div>

[Operator Precedence and Associativity](https://docs.julialang.org/en/v1/manual/mathematical-operations/#Operator-Precedence-and-Associativity) has syntax rules for various operators and  
[a footnote says:](https://docs.julialang.org/en/v1/manual/mathematical-operations/#citeref-2)

> The operators `+` , `++` and `*` are non-associative.

I am wondering about the semantics of various operator methods.

Are there guidelines about which operators should be commutative: for example, should

```julia
a + b == b + a

```

always hold? Where can I read about the properties that methods of various operators should have, in order to meet users’ expectations?
