(Beginners should omit this section.)
Users may define their own new infix operators by specifying the precedence after the word `define'. E.g. to define an operation of precedence -3.5 /// which divides its first argument by the square of its second, and associates to the right:
define -3.5 x /// y; x / (y * y) enddefine; 3 /// 4 => ** 0.1875 4 /// 5 => ** 0.16 3 /// 4 /// 5 => ** 117.187 (3 /// 4) /// 5 => ** 0.0075Infix procedures are available for other purposes besides numerical operations. We have already seen that "<>" is an infix operation which can join two lists or two procedures together, for instance, and "matches" is an infix operation used for comparing two lists.
identprops("matches") => ** 8The equality symbols "=" and "==" are also used as infix operators applicable to arbitrary objects.