Текущий профиль намеренно меньше полного 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 бэкенда не расширяет профиль языка.
- v1.5.3 добавляет локальный gate решения Native после аутентификации и повторного выполнения verifier, не меняя языковой профиль v1.5 и не переписывая выпущенную общую квитанцию на 144 случая.
- Будущая работа требует явного семантического решения и согласованного обновления spec, реализации, тестов и свидетельств.
Реестр области
| Область | Текущий v1.5 | Отложено |
|---|---|---|
| Управление | 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 |
Границы
- Отложенные возможности нельзя выводить из другой реализации Scheme.