Песочница

Выбор способа запуска

Выберите продукт и различайте Native Core IR, байткод, явные виртуальные машины и точный заранее скомпилированный продукт Топаза с их линиями и ресурсами.

Начните с задачи

  • Попробовать без установки. Откройте Песочницу. Исходник и изображения остаются в браузере.
  • Встроить в веб-приложение. Используйте открытый API WebAssembly для выполнения и точных изображений.
  • Работать из Node. Установите npm CLI. Он выполняет исходник, работает с изображениями и аутентифицирует свидетельства Ваучера, но не выдаёт их и не применяет решение.
  • Получить полный локальный процесс. Выберите Native. Только он выдаёт подписанное свидетельство, повторно выполняет точный запрос и применяет проверку допуска.
  • Изучить разрешённый Core IR. Native собирает артефакт в единственной допустимой форме, строго проверяет и показывает его, ничего не исполняя.
  • Запустить проверенный бинарный артефакт. Native переводит Core IR в байткод единственной допустимой формы или явно выбирает --engine vm. Стандартным остаётся tree, а неудача виртуальной машины не скрывается запасным путём.
  • Сравнить отдельную виртуальную машину. В Native macOS ARM64 отдельно установите точный продукт Топаза 5.11 и явно задайте --engine topaz --topaz-vm ROOT. compare-vms создаёт дифференциальное свидетельство без поиска, без запасного пути и без повышения до Ваучера.
  • Создать исполняемый файл без исходника внутри. В Native macOS ARM64 lispex aot генерирует детерминированный читаемый Топаз и исполняемый файл. При сборке нужно явно передать точный установленный компилятор Топаза и каталог инструментов Rust. Установленный продукт работает без обоих деревьев исходников и не переходит запасным путём на виртуальную машину или tree.
  • Создать квитанцию четырёх способов выполнения. После сборки соответствующего скомпилированного продукта запустите Native compare-routes для запуска tree, виртуальной машины Rust, виртуальной машины Топаза и скомпилированного продукта в одном запросе. Несовпадающий продукт отклоняется до выполнения, а семантические и сопоставимые ресурсные различия записываются отдельно без перезаписи.
  • Добавить согласие виртуальной машины к Ваучеру. Только когда существующий путь с привязкой запроса должен также проверить точное выведение артефакта и текущую виртуальную машину Rust, явно используйте Native vouch compiled. Это не заменяет исходник, аутентификацию или согласие запуска tree с записью смысла.

В автоматизации закрепляйте точную версию пакета или хэш бинарника, а не изменяемый указатель latest. Проверяйте также ресурсный профиль продукта, потому что общая семантика не означает одинаковый предел рекурсии.

Проверка установки Native перед выбором

Начните с совместимого запуска tree. Если нужен другой способ выполнения в Native, сделайте выбор проверяемым.

На macOS ARM64 Native может получить точную официальную виртуальную машину Топаза или дополнительный продукт с компилятором для сборки заранее командой lispex routes fetch. Если поставщик передал отдельные точные локальные каталог и архив, используйте офлайн-команду lispex routes install. Оба пути пишут квитанцию без пути в файловой системе рядом с закрытым корнем продукта и не регистрируют и не выбирают его. Откройте Установка дополнительного движка.

SH
lispex routes inventory
lispex routes inventory --topaz-vm /absolute/topaz-vm \
  --aot-product /absolute/aot-product
lispex routes lock --route rust-vm --out route.json
lispex routes doctor --selection route.json

inventory не ищет продукты в PATH, в рабочей копии репозитория, в переменных окружения или в сети. Запуск tree и виртуальная машина Rust помечаются как встроенные, а внешний движок получает состояние not-supplied, ready или invalid. lock без перезаписи создаёт файл lispex.route-selection/v1 в единственной допустимой форме. В нём есть идентичности, но нет пути, поэтому doctor снова требует абсолютный путь внешнего продукта. Файл выбора и диагностика относятся только к исполнению и не становятся свидетельством Ваучера или результатом проверки допуска.

Для локального измерения в заданных пределах явно задайте оба внешних продукта и отделите семантическую квитанцию от времени.

SH
lispex routes measure \
  --topaz-vm /absolute/topaz-vm \
  --aot-product /absolute/aot-product \
  --receipt comparison.json \
  --measurement timing.json \
  --samples 3 \
  --input input.datum \
  rule.lspx

Наносекундные образцы относятся только к этому хосту и этому запуску. Они помогают сравнить локальную стоимость, но не доказывают эквивалентность языка, безопасность или производительность между машинами.

Для исполнения закреплённого выбора передайте lock и исходник. Внешний продукт по-прежнему требует абсолютный путь.

SH
lispex routes run --selection route.json rule.lspx
lispex routes run --selection topaz.json \
  --topaz-vm /absolute/topaz-vm \
  --input input.datum \
  rule.lspx

Запуск tree остаётся совместимым вариантом по умолчанию, эталоном и средством восстановления. Ему не нужен отдельный продвинутый рабочий процесс, он доступен в обычном Rust-продукте и показал наименьшую стоимость старта в поддерживаемом локальном образце. Используйте виртуальную машину Rust для проверенного байткода и явного учёта машинных шагов, а виртуальную машину Топаза или скомпилированный продукт берите только для их именованной задачи сравнения или развёртывания.

Возможности продуктов

ПродуктВыполнение, изображения и артефакты компиляцииВаучер
Nativetree по умолчанию, встроенная виртуальная машина Rust, инструменты Core IR и байткода, точная виртуальная машина Топаза, заранее скомпилированный продукт Топаза с фиксированными инструментами и явное сравнение четырёх способов выполнения на macOS ARM64, изображенияполный путь до локальной проверки допуска и .lpxvca из точного исходника с виртуальной машиной Rust. Результаты виртуальной машины Топаза, скомпилированного продукта и сравнения, а также произвольный .lpxbc не являются входом Ваучера
npm CLIисходники и те же команды изображений через общий Rust и WebAssembly. Нет читателя Core IR, байткода, скомпилированного продукта или артефакта, нет виртуальной машиныте же идентификаторы и политика, аутентификация исходного, незакреплённого или закреплённого контекста, просмотр структуры и повтор корпуса. Нет команд для скомпилированного пути, нет флага и нет проверки допуска
открытая сборка WebAssemblyвстраиваемое выполнение исходника и API изображений. Нет API для Core IR, байткода и скомпилированных продуктов, нет виртуальной машиныинструменты ключей, политики и аутентификации не экспортируются
Песочницалокальный запуск исходника без установки и полный процесс изображений. Нет импорта Core IR, байткода и скомпилированных продуктов, нет виртуальной машиныключи, политика, аутентификация, повторное выполнение и проверка допуска недоступны

Что означает общий Rust

Все четыре продукта выполнения используют одну линию реализации Rust. Поэтому одинаковые принятые байты должны иметь одинаковую семантику, а Native и npm используют общий код изображений и аутентификации. Это удобство поставки, а не независимое подтверждение, и сравнение Native с npm или со сборкой WebAssembly не создаёт второго свидетеля.

Сравнение четырёх способов выполнения также раскрывает общие и отдельные линии, а не превращает совпадение в доказательство. Недоступную команду или ошибку выбранного запуска нельзя имитировать либо молча понижать до другого выполнения.

Доказанное изображение можно использовать как исходный контекст на всём пути Ваучера в Native. npm принимает его для идентификатора, политики и аутентификации, но по-прежнему не выдаёт свидетельство, не выполняет запрос повторно и не применяет проверку допуска.

Частая ошибка

Отсутствующую операцию нельзя имитировать или молча заменить более слабой. Запуск tree и виртуальная машина Rust принадлежат одной линии. Исходник виртуальной машины Топаза структурно отделён, но её исполняемый файл создан Rust Stage 0 Топаза, поэтому согласие остаётся ограниченным свидетельством, а не доказательством. Ошибка выбранной виртуальной машины не запускает другую.

Куда дальше

Установите выбранный продукт на странице загрузок. Дальше можно собрать заранее скомпилированный продукт или запустить проверенный байткод.

Загрузки · Сборка заранее скомпилированного продукта · Запуск проверенного байткода