Here we present all of the unary and binary operators in the language. They are members of the class Keyword. The binary operators are != # #? % & * ** + ++ , - -> . .. ..< .? / // : := ; < <- << <= <== <=== <==> = =!= == === ===> ==> => > >= >> ? @ @@ \ \\ ^ ^** ^^ _ | |- || and or SPACE xor , the unary prefix operators are # * + , - < << <= <== <=== > >= ? |- not , and the unary postfix operators are ! (*) , ; ^* _* ~ .

Of those, the ones for which users may install new methods are the binary operators % & * ** + ++ - .. ..< / // : << <== <=== <==> == ===> ==> >> ? @ @@ \ \\ ^ ^** ^^ _ | |- || and or SPACE xor , the unary prefix operators * + - < << <= <== <=== > >= ? |- not , and the unary postfix operators ! (*) ^* _* ~ .

- = -- assignment
- := -- assignment of method or new local variable
- <- -- assignment with left side evaluated

- == -- equality
- != -- inequality
- "===" -- see Thing === Thing -- strict equality
- =!= -- strict inequality

- < -- less than
- <= -- less than or equal
- > -- greater than
- >= -- greater than or equal
- ? -- comparison operator

- SPACE -- blank operator; often used for function application, making polynomial rings
- -> -- make a function
- @@ -- a binary operator
- \\ -- a binary operator
- \ -- a binary operator

- _ -- a binary operator, used for subscripting and access to elements
- . -- access to elements whose key is a symbol
- .? -- check for presence of elements whose key is a symbol
- # -- length or access to elements
- #? -- check existence of value in a list, hash table, database, or string

- ! -- factorial
- + -- a unary or binary operator, usually used for addition
- - -- a unary or binary operator, usually used for negation or subtraction
- * -- a binary operator, usually used for multiplication
- / -- a binary operator, usually used for division
- // -- a binary operator, usually used for quotient
- % -- a binary operator, usually used for remainder and reduction
- ^ -- a binary operator, usually used for powers
- & -- a binary operator
- ++ -- a binary operator, usually used for direct sum
- ** -- a binary operator, usually used for tensor product or Cartesian product
- ^** -- a binary operator, usually used for tensor or Cartesian power
- ~ -- a unary postfix operator
- (*) -- a unary postfix operator, used for indicating a graded object
- : -- a binary operator, uses include repetition; ideal quotients

- .. -- a binary operator, used for sequences of consecutive items
- ..< -- a binary operator, used for sequences of consecutive items, not including the endpoint
- << -- a binary operator (file output, ...)
- >> -- a binary operator, uses include bit shifting, or attaching optional inputs to functions
- | -- a binary operator, often used for horizontal concatenation
- || -- a binary operator, often used for vertical concatenation
- @ -- a binary operator
- ^^ -- logical exclusive-or
- |- -- a binary operator
- <==> -- a binary operator
- ===> -- a binary operator
- ==> -- a binary operator
- <=== -- a unary and binary operator
- <== -- a unary and binary operator

- => -- produce an Option
- , -- the comma, used for separating entries in a list or sequence
- ; -- expression separator

- precedence of operators
- operatorAttributes -- a hashtable with information about Macaulay2 operators