Текущий профиль намеренно меньше полного R7RS-small, а hosted-бэкенды имеют отдельные явные границы: LIL — 85 из 205 primitive-строк, LIT — 84.
Текущие гарантии
- Реализованы: детерминированная числовая башня, лексическое изменение, proper tail calls, multiple values, exceptions/guard, одноразовый escape, неизменяемые агрегаты и изменяемые векторы, перечисленная библиотека.
- Отложены: multi-shot continuations/re-entry, порты и общий I/O, трансцендентные функции, изменяемые пары/строки/bytevector, точный Unicode folding и пользовательские макросы.
- LIL реализует 85 из 205 версионированных строк primitive capabilities и явно отклоняет 120; LIT независимо реализует 84 и отклоняет 121. Admission бэкенда не расширяет профиль языка.
- Будущая работа требует явного семантического решения и согласованного обновления spec, реализации, тестов и свидетельств.
- Цепочка request-bound полномочий не расширяет Rust 205/205, LIL 85/205, LIT 84/205 или историческое согласие всех семейств 59/144.
Реестр области
| Область | Текущее | Отложено |
|---|---|---|
| Управление | one-shot upward call/cc, dynamic-wind, handlers, guard | multi-shot continuation и dynamic re-entry |
| Числа | точные integer/rational и конечные real | complex и платформенные трансцендентные |
| Изменение | лексические ячейки и векторы | изменяемые пары, строки, bytevector |
| Эффекты | канонический вывод и явные границы вызова | порты, файлы, сеть, время, случайность |
| Метапрограммирование | встроенная гигиеническая нормализация | пользовательские макросы и define-syntax |
| Покрытие бэкендов | Rust reference плюс текущие границы LIL 85 из 205 и LIT 84 из 205; точная выпущенная общая квитанция на 144 случая измеряет их прежнюю общую границу 84 строк | неограниченный паритет всего языка, независимость исходника LIT или оставшиеся 120 строк LIL и 121 строка LIT |
| Публичные инструменты identity | Native/npm key-id, engine-id, source-id и input-id выводят существующие точные значения evidence и policy общим Rust | происхождение ключа/исполняемого файла, trust, разбор или одобрение input, аутентификация, evidence, свежесть, replay-контроль или полномочия исполнения |
| Конфигурация policy | создание/проверка канонической policy v1 общим Rust из проверенных Ed25519 SPKI, engine digest и точных байтов исходника в Native/npm | работа с private key, автоматическое enrollment, доверие из artifact, корректность policy, аутентификация, evidence, gate или browser-инструменты |
| Вывод identity исходника | общий Rust Native/npm: SHA-256("csk.v0.source" || 0x1f || точные байты исходника) | обычный SHA-256, нормализация, одобрение исходника, создание policy, доверие artifact, аутентификация или evidence |
| Авторизация исходника | allowlist выбранного ключа для точных domain-separated байтов исходника в trust policy v1 | одобрение input/request, корректность правила, свежесть, защита от replay, identity или полномочия внешнего действия |
| Переносимый ввод | один канонический bundle envelope/source/input до 16 МиБ; raw fallback сохраняется | языковой denominator, строки LIL/LIT, выпущенная квитанция, свежесть, replay prevention или полномочия |
Границы
- Отложенные возможности нельзя выводить из другой реализации Scheme.