The current procedure surface is grouped by numeric, equality, list, aggregate, string/character, higher-order, exception, conversion, and output families.
Current guarantees
- 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 | contract-specific; signal, value packet, or zero values |
Boundaries
- An unlisted host global is not an implicit primitive.