Песочница

План развития продукта

Текущее направление сохраняет семантику Rust стабильной и улучшает обучение, перенос точного исходника, свидетельства, привязанные к закреплённому запросу, и наблюдения за бэкендами, которые честно остаются в объявленных пределах.

Стабильный центр

Лиспекс является небольшим детерминированным языком решающих правил, и это значит, что один и тот же ввод всегда даёт один и тот же ответ. Rust служит эталоном выполнения и поддерживает все 205 отслеживаемых строк встроенных возможностей. Точные изображения Лиспекса переносят исходные байты и отдают их обратно без изменений. Ваучер с привязкой к запросу может аутентифицировать контекст, объявленный в пакете, а повторное выполнение и локальная проверка решения допускает только в Native и только при отдельно переданном точном запросе. Этот путь Native может явно добавить скомпилированный артефакт из точного исходника и потребовать согласия проверенной Rust VM. VM означает виртуальную машину, то есть программу, которая выполняет заранее подготовленные инструкции вместо чтения вашего исходника. Проверки tree и Meaning при этом всё равно должны пройти, а tree здесь означает встроенный интерпретатор, который читает ваш исходник напрямую.

Границы размещённых интерпретаторов остаются явными. LIL, то есть интерпретатор Лиспекса, написанный на Лиспексе, поддерживает все 205 строк встроенных возможностей, которые считаются сегодня, а LIT, то есть интерпретатор Лиспекса, написанный на Топазе, поддерживает 84 из 205. Строки, которых LIT не поддерживает, отказываются выполняться и не заимствуют поведение среды. Полное покрытие возможностей LIL не означает эквивалентность всего языка.

Как читать направления

НаправлениеЗачемНастоящий признак завершенияЧего это не обещает
Обучаемостьспособный язык бесполезен, если новичок не может написать первое правиловыполняемые уроки, точные результаты, естественные русский, корейский и английский тексты, проверенная навигациябольшой язык, учебную платформу или скрытое состояние курса
Детерминированная эргономикаодно закреплённое значение языка должно быть легко установить, проверить и автоматизироватьточные локальные продукты, стабильная диагностика, выбор Native, npm, WebAssembly и Песочницы по задачеодинаковые ресурсные пределы везде, где работает Лиспекс
Точный исходникпроверенный текст должен пережить путешествие в виде картинки побайтнодоказательство того, что байты в точности те же, что были заложены, точное восстановление, явный запуск, понятный отказ при повреждении файласекретность, подпись, запись о происхождении или полномочие из вида картинки
Свидетельство с запросомаутентификация не должна незаметно стать разрешениемпотребитель сам закрепляет исходник и ввод до того, как Native заново выполнит правило и выполнит проверку допускасвежесть, защиту от повтора, корректность политики или право внешнего действия
Проверяемый обмен решениямиполучатель должен проверять точную запись решения и разрешённого издателя, не разбираясь в устройстве runtimeодин движок, который всегда даёт один и тот же ответ, необязательная проверка того, кто выпустил запись, явный запрос, который закрепляет получатель, и свежий повторный запуск как отдельные выводытрактовку подписи как свежести, корректности или разрешения действовать
Рост бэкендов в объявленных пределахиной исполнитель полезен только тогда, когда можно измерить, какую часть языка он покрываетявная строка возможностей, отрицательный контроль, запись о происхождении и квитанциямолчаливый переход на другой способ или равенство всего языка
Исследовательские свидетельствасравнение должно говорить, что именно посчитали и что предположилиназванные корпусы, исполнители, наблюдения, расхождения и несравнимые случаидоказательство числом тестов или срок выпуска

Порядок переносимого исполнения

Архитектурные результаты идут в строгом порядке. На стабильном профиле уже достигнуто полное покрытие возможностей LIL, а Native теперь понижает весь нормализованный Core в Core IR. Core IR является проверенной внутренней формой правила, которая записывается всегда одинаково и несёт разрешённые ячейки, явные хвостовые позиции, ID примитивов, координаты исходника, идентификатор стоимости и одно строгое JSON-представление байтов. Открытые команды собирают, проверяют и показывают артефакт, не исполняя его и не давая полномочий.

Теперь Native компилирует строгий Core IR в lispex.bytecode/v1, и этот байткод тоже записывается всегда одинаково. Повреждённая структура отвергается до выполнения, а проверенный артефакт выполняется в lispex-rust-vm/v1, то есть в Rust VM с явным управлением. Маршрут, который начинается с исходника, может выбрать --engine vm. Стандартным остаётся tree, а VM никогда не подменяется другим способом, то есть запасной путь отсутствует. Сфокусированное сравнение tree и VM записывает точные промежуточные identity и семантические оси, честно помечая оба маршрута одной линией Rust.

Скомпилированный путь Ваучера является ограниченным результатом этой последовательности. Согласие текущей проверенной Rust VM добавляется к цепочке tree и Meaning только через lispex.vouch-compiled-artifact/v1, заново выведенный из точного исходника потребителя после аутентификации и после того, как запрос закреплён. Обычный байткод, запись о том, какой компилятор создал артефакт, сами артефакты и отчёты не могут сами стать полномочием.

В macOS ARM64 Native теперь также принимает точный отдельно установленный продукт Топаза 5.11 lispex-topaz-vm/v1. Явный маршрут байткода Топаза и compare-vms связывают продукт provider, запрос, результат, точные identity байткода и входа, полноразрядные ресурсы u64 и нулевой запасной путь. Rust остаётся движком по умолчанию, ни запрос, ни результат, ни сравнение Топаза нельзя передать ни одной команде Ваучера, и это сравнение даёт свидетельство в объявленных пределах, но не доказательство независимой эквивалентности.

В Native для macOS ARM64 теперь есть и явный маршрут Лиспекс→Топаз с приоритетом корректности, построенный на AOT. AOT означает компиляцию заранее, когда правило превращают в программу до того, как его кто-то запустит. Из проверенного статического графа он создаёт читаемый Топаз и source map, принимает только точный установленный компилятор Топаза 5.11 и устанавливает продукт без исходников, у которого связаны identity исходника, Core IR, байткода, генерации, артефакта, исполняемого файла, ресурсов и отсутствие запасных путей. Это материал выполнения вне Ваучера, а не новое семейство бэкендов и не доказательство эквивалентности. Теперь Native выводит один запрос и создаёт диагностическую квитанцию, которая не перезаписывает уже существующую, сразу для tree, Rust VM, точной VM Топаза и соответствующего AOT. Семантические и сопоставимые ресурсные оси, линии и все запасные пути остаются видимыми. Квитанция не даёт полномочий и не превращает маршруты в четыре независимых свидетеля.

Стабильный продукт с несколькими маршрутами уже опубликован. Native честно показывает четыре маршрута, создаёт lock, в котором не записан локальный путь, проверяет точную установку, собирает измерения в объявленных пределах и запускает закреплённый маршрут. Такой lock представляет собой небольшой файл, где записан выбранный маршрут, но не место продукта на вашем компьютере. Rust tree остаётся стандартным. Автоматического поиска, повтора, запасного пути и полномочий Ваучера из результата Топаза нет.

Переносимая поставка маршрутов теперь включает каталог, который записывается всегда одинаково, квитанцию установки без локального пути, офлайн-установщик в объявленных пределах и ограниченное официальное получение. Native получает только точную запись, встроенную в бинарник. Текущий каталог содержит VM Топаза для macOS ARM64 с подтверждённым установленным выполнением и точный сопутствующий продукт AOT-компилятора, не перечисляя неподдерживаемые целевые платформы. Установка остаётся отделена от исполнения, а сопутствующий компилятор при сборке по-прежнему требует отдельно выбранный набор инструментов Rust. Python, браузер, прямой WebAssembly, оптимизация, кросс-компиляция и другие сопутствующие платформы остаются направлениями, требующими свидетельств, а не обещанными сроками.

Установленный путь теперь закрыт целиком. Те же явно переданные продукты проходят перечисление inventory, выбор без локального пути, диагностику doctor, сравнение в объявленных пределах, закреплённое исполнение и перенос с неизменившимся lock. Он не ищет новый маршрут и не расширяет заявление о поддерживаемых платформах.

Native также даёт один локальный канал для написания правил, с которым помощник общается через стандартный ввод и вывод. Помощник может запросить точные формы и процедуры установленного продукта, выполнить ограниченный по размеру и времени пример доверенного исходника в Rust tree, объяснить диагностику или запустить один фиксированный прогон сравнения для tree и Rust, Rust и Топаза либо всех четырёх маршрутов. Этот канал не является песочницей для враждебного исходника и не учитывает всю гостевую работу или логические выделения. Поддерживаемый путь установленного продукта без дерева исходников проверяет четыре инструмента, точное совпадение диагностик CLI, запрет возможностей хоста, завершение и восстановление по ресурсным пределам, согласие, честное расхождение или недоступность и очистку. Он не ищет маршрут, не выбирает ответ, не сохраняет исходник, не открывает удалённый сервис и не создаёт полномочия Ваучера.

Точный вычислитель, работающий в пределах заданного лимита работы и памяти, теперь опубликован как отдельно сохраняемый компонент WebAssembly без импортов. Вычислитель является программой, которая выполняет правило. Native встраивает именно эти байты и разделяет подготовку и оценку, детерминированные лимиты работы и логического выделения, семантические результаты и отказы запроса, операционные прерывания и ошибки движка. Только допустимые детерминированные результаты содержат зафиксированный portable core, небольшую запись, которая связывает правило, ввод, лимиты и результат одного запуска. У вычислителя нет возможностей хоста, автоматического поиска, запасного пути и удалённого транспорта, и ничто из созданного им не становится свидетельством Ваучера.

Вычислитель полного текущего профиля также опубликован как второй, отдельно обозначенный компонент под таким же лимитом. Один сгенерированный источник истины, закрытый для всего, чего в нём нет, покрывает все 205 строк примитивов, а его полный счётчик работы разделяет ресурсы подготовки и оценки, списывая их до работы и ничего не возвращая. Native открывает его только явными командами embed full и создаёт свежий экземпляр для каждой операции. Это не переименовывает и не расширяет ограниченный компонент и не добавляет автоматический поиск, запасной путь, возможности хоста, превращение результатов в свидетельства Ваучера или допуск в Топаз.

Проверяемый процесс решения также опубликован. Native rule run принимает одно проверенное правило, строгий JSON-вход и точные лимиты, а затем создаёт каталог решения из пяти файлов без исходника, причём целиком или не создаёт вовсе. Команды inspect и verify не выполняют правило. Команда replay использует свежий экземпляр точного вычислителя и требует совпадения результата и portable core. Запись проверяема и никогда не разрешает внешнее действие.

Аутентифицированный обмен решениями теперь опубликован. Первый refund-путь и точная передача в Native ведут к необязательному конверту издателя вне неизменных вычислителя и portable core. Политика получателя, валидность подписи, привязка запроса, повторный запуск, защита от повторного использования и внешнее полномочие остаются раздельными. Один пакет .lpxdecision из семи файлов, с объявленными пределами размера и одним способом записи, поддерживает полный Native-процесс, а в npm его можно проверить и аутентифицировать, но не выпустить. Установленный прогон проверок Native и npm, который не хранит исходник, подтверждает перенос и свежий повторный запуск, не превращая пакет в свидетельство Ваучера или разрешение действовать.

Что не меняется случайно

Семантика языка не меняется ради упрощения урока, бэкенда или артефакта. Настоящее изменение обязано вместе обновить спецификацию, реализацию Rust, тесты, квитанции и открытое объяснение. Изображение остаётся способом представить исходник. Это не новый тип данных и не компилятор. Артефакт Ваучера остаётся свидетельством, а не переносимым полномочием.

Текущие границы

  • Направления не назначают версию, дату или объём команды.
  • Rust, LIL и LIT являются отдельно обозначенными семействами исполнения. Сгенерированные и упакованные варианты не становятся независимыми свидетелями.
  • Историческая квитанция трёх семейств фиксирует 59 общих совпадений на 144 проверенных случаях. Текст не расширяет это число 144.
  • Будущий бэкенд или машинная модель закрывает только явно названную часть языка и названные допущения.

Куда дальше

Причины этих ограничений изложены в «Философии», а точную хронологию поставленных возможностей даёт «История».

Философия · История