Как рассуждать
- Предпочтительны канонические имена R7RS; документированные псевдонимы разделяют семантику, устаревающие выдают предупреждения.
- Каждая процедура имеет фиксированную или объявленную вариативную арность и детерминированные ошибки типа/домена E3xx.
- Страницы семейств задают сигнатуры и граничное поведение; эта страница — навигационный указатель.
Семейства процедур
| Семейство | Канонические имена | Арность / результат |
|---|---|---|
| Арифметика | + - * / abs square min max floor ceiling round truncate | объявленная переменная арность или один аргумент; число |
| Целое деление | modulo quotient remainder floor-quotient floor-remainder truncate-quotient truncate-remainder floor/ truncate/ | 2 целых; одно или два значения |
| Равенство | eq? eqv? equal? = < > <= >= boolean=? | 2+ значения документированного домена; булево |
| Списки / агрегаты | cons car cdr list append reverse list-ref vector vector-ref vector-set! bytevector-u8-ref | по семейству; значение или ноль значений |
| Высший порядок | map filter reduce fold-left fold-right apply for-each vector-map string-map | процедура и коллекции; коллекция, аккумулятор или ноль значений |
| Исключения / вывод | error raise raise-continuable with-exception-handler display write newline println | по контракту; сигнал, пакет значений или ноль значений |
Частая ошибка
Неуказанный глобал среды не является неявным примитивом.
Куда дальше
Держите эту страницу рядом при написании кода. За последовательным объяснением вернитесь к карте синтаксиса или соответствующей главе.