.BG
.VE $Header: /usr3/s/current/s/.help/RCS/operator,v 1.2 83/12/30 19:31:31 rab Exp $
.FN operator
.FN %
.TL
%x: Operators (special)
.CS
expression %x expression
.PP
Special operators are available within S to allow functions of two
arguments to be written in infix notation.  These special operators
all begin with a percent (%) sign, and are followed by any character.
All special operators are defined to have very high precedence, so
that they tend to be performed only upon adjacent names, for example
`\-a %* b+3' would carry out matrix multiplication of `a' and `b', negate the
result, and then add 3 (see `precedence').
.PP
The only requirement for adding new special operators is that the
function take two arguments, and that the command name be of the %x
form.
.PP
Examples of special operators are `%%' (mod), `%*' (matrix-multiply),
`%o' (outer product), `%m' (coerce) and `%c' (cross-product).
.KW special
.KW builtin
.WR
