12.1.5 Binary-operator calls

Dylan has 16 built-in binary operators, of the following kinds:

The syntax for a binary-operator call has three parts:

1. An expression that serves as the first operand

2. The operator

3. An expression that serves as the second operand

All binary-operator calls, except those to the logical and assignment operators, are abbreviations for calls to functions that have the same names as do the operators. Except for the order of evaluation, the following examples are equivalent:

a + b;
\+(a, b);

The & and | operators are implemented as macros. (For information on macros, see Chapter 21, Macros.) In an expression that includes the & operator, if the first operand has a false value, the second operand is not evaluated. In an expression that includes the | operator, if the first operand has a true value, the second operand is not evaluated.