+, * These procedures return the sum or product of their arguments.

+, * These procedures return the sum or product of their arguments.

-, / With two or more arguments, these procedures return the difference or quotient of their arguments, associating to the left. With one argument, however, they return the additive or multiplicative inverse of their argument. It is an error if any argument of / other than the first is an exact zero. If the first argument is an exact zero, an implementation may return an exact zero unless one of the other arguments is a NaN.

=, <, >, <=, >= These procedures return #t if their arguments are (respectively): equal, monotonically increasing, monotonically decreasing, monotonically non-decreasing, or monotonically non-increasing, and #f otherwise. If any of the arguments are +nan.0, all the predicates return #f. They do not distinguish between inexact zero and inexact negative zero. These predicates are transitive. Note: While it is not an error to compare inexact numbers using these predicates, the results are unreliable because a small inaccuracy can affect the result; this is especially true of = and zero?. When in doubt, consult a numerical analyst.

The abs procedure returns the absolute value of its argument.

Returns a list consisting of the elements of the first list followed by the elements of the other list s. If there are no arguments, the empty list is returned. If there is exactly one argument, it is returned. Otherwise the resulting list is always newly allocated, except that it shares structure with the last argument. An improper list results if the last argument is not a proper list.

(
apply
[
procedure?
proc
]
arg1
...
[
list?
args
]
)
⟹
*

(
apply
[
procedure?
proc
]
arg1
...
[
list?
args
]
)
⟹
*

The apply procedure calls proc with the elements of the list

(
assoc
obj
[
list?
alist
]
)
⟹
(
or
pair?
#f
)
(
assoc
obj
[
list?
alist
]
[
procedure?
=
]
)
⟹
(
or
pair?
#f
)

=
⟹
(
Î»
a
b
)
⟹
*

assq, assv, assoc It is an error if alist (for "association list") is not a list of pairs. These procedures find the first pair in alist whose car field is obj , and returns that pair. If no pair in alist has obj as its car, then #f (not the empty list) is returned. The assq procedure uses eq? to compare obj with the car fields of the pairs in alist , while assv uses eqv? and assoc uses compare if given and equal? otherwise. Rationale: Although they are often used as predicates, memq, memv, member, assq, assv, and assoc do not have question marks in their names because they return potentially useful values rather than just #t or #f.

assq, assv, assoc It is an error if alist (for "association list") is not a list of pairs. These procedures find the first pair in alist whose car field is obj , and returns that pair. If no pair in alist has obj as its car, then #f (not the empty list) is returned. The assq procedure uses eq? to compare obj with the car fields of the pairs in alist , while assv uses eqv? and assoc uses compare if given and equal? otherwise. Rationale: Although they are often used as predicates, memq, memv, member, assq, assv, and assoc do not have question marks in their names because they return potentially useful values rather than just #t or #f.

(
binary-port?
obj
)
⟹
boolean?

Returns #t if all the arguments are booleans and all are #t or all are #f.