Песочница

Процедуры строк, символов и байтовых векторов

Строки и символы используют Unicode scalar с документированной ASCII-точной аппроксимацией регистра; байтовые векторы содержат байты 0–255.

Кратко

LISPEX
(list (string-upcase "Lispex") (char-numeric? #\7) (bytevector-u8-ref #u8(65) 0))

Результат

OUTPUT
("LISPEX" #t 65)

Текущие гарантии

  • Поддерживаются создание строк, длина, reference, copy, append, сравнение, регистр, map и преобразования list/vector.
  • Предикаты и сравнения символов детерминированы; char-numeric? распознаёт только ASCII-цифры.
  • Доступны длина bytevector и bytevector-u8-ref со строгими проверками байта/диапазона.

Сигнатуры текста и байтов

СигнатураРезультатТекущая граница
(string-ref string k)символ Unicode scalarE312 тип; E311 диапазон
(string-append string ...)новая неизменяемая строканет string-set! в текущем профиле
(char-ci=? char char ...)boolean при ASCII-точной аппроксимацииостаются документированные границы Unicode folding
(string-map proc string ...)новая строка; callbacks слева направоcallback ровно один символ
(bytevector-u8-ref bytes k)точное целое 0..255профиль bytevector только для чтения

Границы

  • Точный Unicode folding, изменяемые строки, изменение/copy bytevector и UTF-8 codecs отложены.