AQLDoc/AQL_GR_020.html

## Rule `DefinitionKind_1`

`DefinitionKind` |  | '`operator`' `Operator` `SPECIFIER` `INT`

#### Description

This defines a new, or redefines an existing, operator symbol. The `SPECIFIER` is à la Prolog. Indeed, as in Prolog, AQL operators may be declared at runtime using the built-in `operator` keyword followed by an `Operator` (the one being [re]defined), a fixity/associativity `SPECIFIER`, and a precedence level: a natural number in the range [1..1200]. For example,
    	             operator + yfx 500;
redefines the symbol `'+'` to be an infix binary left-associative operator with binding looseness 500 (binding looseness is the opposite of precedence - anti-precedence, so to speak).

Copyright © 2013 by Hassan Aït-Kaci; All Rights Reserved.