How to reason about it
- Canonical R7RS names are preferred; documented aliases share semantics and deprecated aliases emit warnings.
- Every procedure has fixed or declared variadic arity and deterministic E3xx type/domain failures.
- The family pages own signatures and edge behavior; this page is the navigation index.
Procedure families
| Family | Canonical names | Arity / result |
|---|---|---|
| Arithmetic | + - * / abs square min max floor ceiling round truncate | declared variadic or unary; number |
| Integer division | modulo quotient remainder floor-quotient floor-remainder truncate-quotient truncate-remainder floor/ truncate/ | 2 integers; one or two values |
| Equality | eq? eqv? equal? = < > <= >= boolean=? | 2+ values in the documented domain; boolean |
| Lists / aggregates | cons car cdr list append reverse list-ref vector vector-ref vector-set! bytevector-u8-ref | family-specific; value or zero values |
| Higher order | map filter reduce fold-left fold-right apply for-each vector-map string-map | procedure plus collection(s); collection, accumulator, or zero values |
| Exceptions / output | error raise raise-continuable with-exception-handler display write newline println | contract-specific; signal, value packet, or zero values |
A common mistake
An unlisted host global is not an implicit primitive.
Keep going
Use this page while writing code. For a guided explanation, return to the syntax map or the corresponding manual.