`(+ [ num1 num2 ... ] )`- Computes the sum of
the arguments using the generic function
`binary+`

. Given zero arguments,`+`

returns`0`

. One argument returns that argument. The arguments are combined left-associatively. `(- num1 [ num2 ... ] )`- Computes the result
of subtracting successive arguments, from the second to the last, from
the first using the generic function
`binary-`

. Zero arguments is an error. One argument returns the negation of the argument, using the generic function`negate`

. The arguments are combined left-associatively. `(* [ num1 num2 ... ] )`- Computes the
product of the arguments using the generic function
`binary*`

. Given zero arguments,`*`

returns`1`

. One argument returns that argument. The arguments are combined left-associatively. `(/ num1 [ num2 ... ] )`- Computes the result
of dividing the first argument by its succeeding arguments using the
generic function
`binary/`

. Zero arguments is an error. One argument computes the reciprocal of the argument. It is an error in the single argument case, if the argument is zero. `(% num1 [ num2 ... ] )`- Computes the result
of taking the remainder of dividing the first argument by its succeeding
arguments using the generic function
`binary%`

. Zero arguments is an error. One argument returns that argument. `(abs num)`- Computes the absolute value of
`num`

. `(negate num)`- Computes the additive inverse of
`num`

. `(zerop num)`- Compares number with the corresponding
zero element of
`num`

, that is`0`

for integers and`0.0`

for floating point using the generic function`binary=`

. `binary+, binary-, binary*, binary/, binary%`- These are the two argument implementations of the corresponding operations. These functions are called by the n-ary argument functions described above. These are generic functions in order to implement the different behaviours needed to combine different kinds of numbers. Note: this organization and use of generic functions is EuLisp specific, but the n-ary functions above should be available in most Lisps.

Julian Padget, jap@maths.bath.ac.uk, this version December 11, 1994