Песочница

Native и npm CLI

Найдите команду Лиспекса по задаче, узнайте её входные данные, результат и значение кода выхода.

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

Установите Лиспекс через первую программу или загрузки. Доступность платформ указана в каталоге продуктов.

Запуск файла

Сохраните эту полную программу как answer.lspx.

LISPEX
(+ 20 22)

Запустите её через Native или npm.

SH
lispex answer.lspx

Вывод

ВЫВОД
42

Команда завершается с кодом 0 и не создаёт файлов. Команда lispex --help выводит список команд и флагов установленной версии. Справка семейства команд, например lispex vouch --help, описывает его параметры.

Как читать таблицы команд

Таблицы показывают синтаксис команд и ожидаемые результаты. По ссылкам доступны полные рабочие примеры. Имена в верхнем регистре, например SOURCE, IR и ROOT, обозначают пути, которые вы подставляете. Скобки отмечают необязательные аргументы, | разделяет варианты, а ... обозначает дополнительные обязательные или необязательные флаги. Входное значение — одно значение Лиспекса, прочитанное из файла.

Исходники и инструменты редактирования

КомандаЧитаетРезультатПродукт
lispex [FILE|-]Исходник ЛиспексаЗначения, стандартный вывод, предупреждения и диагностикаNative, npm
lispex sicp run <file.scm|->Один исходник SICP размером до 1 МиБСтандартный вывод SICP и итоговое значениеNative, npm
lispex fmt [--check|--write] [FILE|-]Исходник UTF-8Отформатированный исходник, статус проверки или замена исходного файлаNative
lispex mcp serveКадры запросов через локальный стандартный ввод и выводСправочник языка и процедур, вычисление, диагностика и заданные сравнения движковNative

Служба MCP вычисляет доверенный исходник с объявленными лимитами байтов и времени. Вызывающее приложение управляет путями рабочего пространства, сетевым доступом и внешними действиями. Протокол запросов описан в MCP. Форматирование заменяет файл атомарно: готовая замена появляется одной операцией.

Meaning Graph и Core IR — Native

Core IR — промежуточное представление с разрешёнными ссылками имён. Meaning Graph представляет операции программы узлами, которые выполняет вычислитель Meaning. Канонические файлы используют единственное установленное байтовое представление.

КомандаЧитаетРезультат
lispex lower --graph-version v1 SOURCEТочный исходник, преобразованный через проверенный Core IRКанонический Meaning Graph v1 с разрешёнными ссылками имён
lispex eval-graph [--steps N] [--trace] GRAPHMeaning Graph v0 или v1 и необязательный вводОтчёт, выбранный по тегу версии графа, со статусом завершения и необязательной трассой
lispex meaning-diff [--input I] SOURCEИсходник и необязательное входное значениеТекущие результаты интерпретатора Лиспекса и Meaning в csk.meaning-differential-report/v1
lispex core-ir build --source S --out OТочный исходникКанонический файл lispex.core-ir/v1 и сводка
lispex core-ir inspect --ir IRCore IRЯчейки переменных, захваченные переменные, требования, координаты исходника и идентификаторы
lispex core-ir validate --ir IRCore IRСтрогая проверка, включая повторное кодирование в установленном формате

Команды Core IR build, inspect и validate сообщают execution: "not-run" и authority: "integrity-only". Они создают или проверяют представление. Для запуска программы выберите команду выполнения среды, Meaning, байткода или Ваучера. Core IR содержит полный пример создания файла из исходника.

Байткод и сравнение движков — Native

Виртуальная машина, или VM, выполняет подготовленные инструкции, называемые байткодом.

КомандаЧитаетРезультат
lispex bytecode build --ir IR --out OПроверенный Core IRПроверенный канонический файл .lpxbc и сводка
lispex bytecode inspect --bytecode BCПроверенный байткодИдентификаторы, количества, требования, инструкции, точки входа и покрытие карты исходного кода
lispex bytecode validate --bytecode BCБайткодСтрогое декодирование, проверка и результат канонического повторного кодирования
lispex bytecode run --bytecode BC [--input I]Проверенный байткод и необязательное входное значениеРезультат, вывод и диагностика ВМ Лиспекса
lispex run --backend rust --engine tree|vm FILEИсходник ЛиспексаРезультат интерпретатора Лиспекса или ВМ Лиспекса в зависимости от выбора
lispex compare-engines --receipt R FILEИсходник ЛиспексаОтчёт сравнения интерпретатора Лиспекса и ВМ Лиспекса

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

Вычисление с управлением ресурсами — Native

Вычислитель решений и полный вычислитель — отдельные продукты. Подготовка читает исходник и лимиты, затем создаёт подготовленный файл. Вычисление читает этот файл, двоичное входное значение и лимиты вычисления, затем создаёт файл результата.

Семейство командРезультат и последующие операции
lispex embed prepare, evaluate, inspect, verifyФайлы подготовки и вычисления профиля решений, просмотр JSON и проверка целостности
lispex embed full prepare, evaluate, inspect, verify, replayФайлы полного профиля, просмотр JSON, проверка целостности и повторный запуск в новом экземпляре
lispex rule run, inspect, verify, replayКаталог решения из пяти файлов и операции над ним

Для повторного вычисления профиля решений снова передайте те же входы в embed evaluate или вызовите rule replay для каталога решения. Запуск правила с заданными пределами содержит все входные файлы, команды и результаты.

Изображения — Native и npm

КомандаРезультат
lispex image encode --source SOURCE --out IMAGEКанонический .lspx.png или .lspx-images.zip
lispex image inspect --image IMAGEСводка формата, профиля, страниц, идентификаторов исходника и связей целостности
lispex image decode --image IMAGE --out SOURCEТочно восстановленный исходник
lispex run --image IMAGEРезультат, вывод и диагностика эталонного интерпретатора для восстановленного исходника

Изображения Лиспекса показывают кодирование и восстановление. Команды Ваучера с контекстом исходника принимают ровно один параметр: --source RULE или --source-image IMAGE. Повторное выполнение и локальный допуск используют этот исходник вместе с отдельно переданным --input INPUT.

Записи сравнения и Ваучер Лиспекса

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

КомандаРезультатПродукт
lispex diff-receipt --input I RULEЗапись сравнения в csk.differential-receipt/v0Native
lispex verify RECEIPT [--source RULE]Автономный вердикт структурной согласованностиNative, npm
lispex replay CORPUS --against BASELINEОтчёт сравнения записанных решений с версией или каталогом записейNative, npm
lispex vouch policy create|check ...Каноническая политика доверия получателя или отчёт проверкиNative, npm
lispex vouch issue ...Подписанные данные, контейнер подписанной записи DSSE и отчёт выпускаNative
lispex vouch verify ...Отчёт аутентификации точного подписанного контекстаNative, npm
lispex vouch verify --reexecute ...Аутентификация и текущее согласие интерпретатора Лиспекса и MeaningNative
lispex vouch gate --require-decision ...Текущий локальный допуск или отказ и отчётNative
lispex vouch compiled build ... --out AСвязанный с исходником lispex.vouch-compiled-artifact/v1 и сводкаNative
lispex vouch compiled inspect --artifact AСводка целостности контейнера и встроенного байткодаNative
lispex vouch compiled validate ...Проверка получения записанных Core IR и байткода из точного исходникаNative
lispex vouch verify --reexecute --compiled-artifact AТекущее согласие tree, Meaning и проверенной ВМ ЛиспексаNative
lispex verify-bridge REPORTСтруктура отчёта Моста и вердикт о выбранных получателем привязках байтовNative, npm

Совместимые имена receipt, issue-native, verify-native и команда верхнего уровня verify сохраняют опубликованные форматы файлов и поведение. Семейство vouch предоставляет процесс с аутентификацией. Полный порядок работы описан в Ваучере Лиспекса.

Коды выхода и сохранённые файлы

Читайте код выхода вместе с результатом команды.

Команда или исходКод
Запрошенная операция успешна0
Проверка, выполнение, сравнение или аутентификация отклоненыОбычно 1; прочитайте диагностику
fmt --check обнаружила изменения форматирования1, без вывода отформатированного исходника
Неверный вызов, недоступный выбранный движок или достижение лимита ресурсов при обычном запуске исходника2
Ошибка ввода-вывода или сохранения именованного отчёта3 у команд, использующих этот код
Аутентифицированный запрос Ваучера остановлен локальным правилом допуска или этапом повышения диагностики10

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

Встраиваемый вычислитель записывает успех, ошибку программы или исчерпание ресурсов внутри сохранённого результата. Если результат успешно сохранён, эти три исхода возвращают 0. Различайте их через inspect. Отклонённый запрос может вернуть 3, а сбой вычислителя или создания записи — 4. Отдельные имена категорий перечислены в справочнике вычислителей.

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