Operator identifiers are valid names for Unison definitions, but the syntax for defining them is slightly different. For example, we could define a binary operator **
:
(**) x y = Float.pow x y
Or we could define it using infix notation:
x ** y = pow x y
If we want to give the operator a qualified name, we put the qualifier inside the parentheses:
(MyNamespace.**) x y = Float.pow x y
Or if defining it infix:
x MyNamespace.** y = pow x y
The operator can be applied using either notation, no matter which way it's defined. See function application for details.