Подготовьте правило и ввод
Сохраните refund-window.lspx:
(define (decide days)
(if (<= days 30) 'refund 'review))
(decide input)Единственный входной datum сохраните как request.lspx:
14input не читает файл или окружение. Это явное требование, записанное в Core
IR и байткоде; значение передаётся отдельным параметром команды.
Соберите Core IR и байткод
lispex core-ir build \
--source refund-window.lspx \
--out refund-window.lpxir
lispex bytecode build \
--ir refund-window.lpxir \
--out refund-window.lpxbcПервая команда разрешает имена и ячейки, захваты, хвостовые позиции и
координаты исходника, не выполняя правило. Вторая переводит канонический Core
IR в lispex.bytecode/v1, проверяет результат и записывает новый бинарный
артефакт. Существующий файл ни одна команда не перезаписывает.
Изучите или проверьте до запуска
lispex bytecode inspect --bytecode refund-window.lpxbc
lispex bytecode validate --bytecode refund-window.lpxbcinspect показывает идентификаторы, ограниченные размеры таблиц, требования,
число opcode, координаты корней и покрытие source map. validate — более
краткая граница для автоматизации: строгий decoder проверяет и заново кодирует
артефакт, принимая только одно каноническое представление байтов.
Обе команды проверяют целостность. Они не аутентифицируют производителя, не одобряют правило, не связывают запрос потребителя и не выполняют решение.
Выполните только после проверки
lispex bytecode run \
--bytecode refund-window.lpxbc \
--input request.lspxrefund
Native CLI проверяет весь артефакт до создания состояния VM. Некорректные
байты отклоняются до чтения ввода, вывода, вызова примитива или первого шага
VM. Если артефакт объявляет input, параметр --input обязателен; лишний ввод
для артефакта без такого требования также отклоняется.
Один stdin нельзя использовать сразу для двух входов:
lispex bytecode run --bytecode - --input -Передайте байткод или datum через именованный файл.
Выполните тот же артефакт в Topaz VM
Rust VM встроена и остаётся вариантом по умолчанию. На macOS ARM64 можно явно выбрать точный допущенный продукт Topaz 5.11:
lispex bytecode run \
--engine topaz \
--topaz-vm /absolute/path/to/aarch64-apple-darwin \
--bytecode refund-window.lpxbc \
--input request.lspxКорень продукта — абсолютный путь к отдельно установленному
lispex-topaz-vm/v1. Lispex проверяет manifest, артефакт Topaz, исполняемый
файл, wrapper, управляемые файлы, линию compiler/исходника, платформу,
ресурсный контракт и нулевые fallback. Поиска через PATH, соседний
репозиторий, сеть или старую установку нет. Отсутствующий, изменённый,
зависший или некорректный продукт даёт явную ошибку Topaz без повтора в Rust.
Выберите VM для исходника
Для самодостаточного исходника есть короткий маршрут:
lispex run --backend rust --engine vm rule.lspxПо умолчанию остаётся tree:
lispex run --backend rust --engine tree rule.lspxЯвно выбранный vm никогда не повторяет неудачный запуск через tree.
--engine относится только к Rust-бэкенду; сочетание с LIL, LIT или реестром
внешних бэкендов является ошибкой использования.
Сравните два Rust-движка
lispex compare-engines \
--receipt tree-vm.json \
rule.lspxНеперезаписываемый отчёт содержит точные идентификаторы исходника, Core IR и байткода, оба семантических наблюдения, оси расхождения, расход ресурсов VM и счётчик fallback. Это полезное свидетельство регрессии, но движки разделяют Rust-значения и листья примитивов. Совпадение не является независимым свидетелем или доказательством эквивалентности.
Для прямого сравнения двух VM байткода:
lispex compare-vms \
--topaz-vm /absolute/path/to/aarch64-apple-darwin \
--receipt rust-topaz.json \
rule.lspxБайткод выводится один раз, затем Rust и Topaz запускаются явно. Сравниваются статус, вывод, значения, предупреждения, диагностика, ресурсы и завершённые корни. Исходник Topaz структурно отделён, но исполняемый файл создан Rust Stage 0 компилятора Topaz. Совпадение — дифференциальное свидетельство, а не доказательство или полномочие Vouch.
Когда собран соответствующий AOT-продукт, сравните все Native-маршруты:
lispex compare-routes \
--topaz-vm /absolute/path/to/aarch64-apple-darwin \
--aot-product /absolute/path/to/refund-window-aot \
--receipt four-routes.json \
--input request.lspx \
refund-window.lspxКоманда использует один результат frontend и один проверенный байткод для tree, Rust VM, Topaz VM и AOT. Несовпадение исходника, Core IR или байткода отклоняет AOT-продукт до запуска. Квитанция не перезаписывает файл, отдельно записывает семантические и сопоставимые ресурсные оси, показывает линии и fallback и не имеет полномочий Vouch.
Выберите подходящий продукт
| Продукт | Инструменты байткода | Rust VM | Topaz VM / AOT / суд четырёх маршрутов |
|---|---|---|---|
| Native macOS ARM64 | да | встроена | точные отдельные продукты и явное сравнение |
| Другие поддерживаемые Native | да | встроена | нет |
| npm CLI/package | нет | нет | явный отказ: только Native |
| Открытый WASM | нет | нет | нет |
| Песочница | нет | нет | нет |
npm, открытый WASM и Песочница продолжают выполнять исходники через свои заявленные tree-маршруты и поддерживают точные изображения. В них нет JavaScript-reader, verifier или VM для байткода.
Выберите compiled Vouch, не повышая байткод до полномочия
Канонический хэш идентифицирует точные байты. Проверка устанавливает только
ограниченную структурную допустимость, а локальный запуск VM — наблюдение
данного Native. Обычный .lpxbc по-прежнему не выпускает и не
аутентифицирует envelope, не удовлетворяет политику, не выбирает запрос и не
выдаёт решение gate.
Если потребитель намеренно добавляет согласие VM к существующим проверкам Vouch, Native создаёт отдельный контейнер, связанный с исходником:
lispex vouch compiled build \
--source refund-window.lspx \
--out refund-window.lpxvca
lispex vouch compiled validate \
--artifact refund-window.lpxvca \
--source refund-window.lspxvouch verify --reexecute --compiled-artifact refund-window.lpxvca и
vouch gate --compiled-artifact refund-window.lpxvca всё равно требуют
точные внешние исходник и вход потребителя, политику доверия, аутентификацию и
согласие текущего tree/Meaning. До запуска проверенной VM Native заново выводит
Core IR и байткод из исходника. Контейнер, хэши, результаты inspection,
validation и VM не могут пропустить или восстановить живой переход полномочий.
Куда дальше
Точный бинарный контракт и verifier описаны в справочнике. Чтобы изучить разрешённый смысл до компиляции, вернитесь к руководству Core IR.