Песочница

Лиспекс

Познакомьтесь с Лиспексом на решающем правиле, а затем выберите курс из шести шагов, Песочницу или точное руководство.

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

Сначала посмотрите на форму

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

LISPEX
(+ 2 3)

Результат

OUTPUT
5

Вложенные формы читаются изнутри наружу. Ниже define даёт значению имя, >= отвечает на вопрос, а if выбирает одно из двух значений данных.

LISPEX
(define total 62)

(if (>= total 50)
    '(decision free-shipping)
    '(decision standard-shipping))

Результат

OUTPUT
(decision free-shipping)

Апостроф перед '(decision free-shipping) означает «сохранить этот список как данные». Без него Лиспекс попытался бы вызвать процедуру decision. Это ключевое различие, возможность формы исполняться или сохраняться в виде данных, относится к полезным идеям, которые вы будете осваивать постепенно.

Для каких задач подходит Лиспекс

Лиспекс подходит для правил вроде проверок прав, сроков возврата, ценовых границ, выбора маршрута и повторяемых преобразований. Его эталонная среда опирается на детерминированные правила вычисления, точную арифметику там, где она возможна, и устойчивую диагностику. Такие свойства делают правило более удобным для повторного запуска и сравнения.

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

Выберите вход

Если вы хотите…Откройте
выучить язык за шесть шаговПуть обучения
запустить код без установкиПесочницу
изучать SICP глава за главой, читая, изменяя и запуская кодLispex · курс SICP
увидеть повседневный синтаксис на одной страницеСинтаксис одним взглядом
установить локальную средуПервую программу
собрать и запустить проверенный Native-артефактЗапуск проверенного байткода
найти точную форму или процедуруСправочник синтаксиса или Указатель процедур

Точные изображения, проверенный байткод Native и Ваучер Лиспекса являются полноценными возможностями продукта, но ни одна из них не требуется для изучения языка. Изображения переносят точный исходный код. Байткод даёт явный локальный маршрут через виртуальную машину. Ваучер Лиспекса проверяет записанное решение позже. Он подтверждает, кто подписал правило, привязывает вашу собственную копию исходного кода и ввода и может потребовать одно точное локальное решение. Сначала освойте язык, тогда эти пути станут понятнее.

Запуск правила, которому вы не доверяете

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

Для правил с заданным профилем ресурсов загружаемая программа предоставляет команду lispex embed. Она вычисляет профиль решений с заданными значениями топлива и памяти внутри процесса хоста и формирует переносимую запись portable core после завершения.

Обещание руководства

Документация описывает точные возможности продукта и проверенные границы. Эталонной средой выполнения служит Rust. Топаз выступает сопутствующим языком и компилятором для виртуальной машины Топаз и инструментария AOT, компилирующего правило в отдельную программу. LIL (Лиспекс на Лиспексе) и LIT (Лиспекс на Топазе) работают как бэкенды дифференциальной проверки. Вы можете изучить эти компоненты в разделе Среды и бэкенды, когда потребуется развёртывание или перекрёстная проверка.

Слова, которые документация повторяет

Несколько слов повторяются в руководстве, в инструкциях и в истории выпусков. Для курса ни одно из них не нужно.

СловоЧто оно значит
вычислительпрограмма, которая выполняет правило
treeвстроенный интерпретатор, который читает ваш исходник напрямую
VMвиртуальная машина, то есть программа, которая выполняет подготовленные инструкции вместо чтения исходника
AOTкомпиляция заранее, которая превращает правило в программу до её запуска
каноническийзаписанный каждый раз одинаково, поэтому один и тот же ввод даёт одни и те же байты
профиль ресурсовточные значения работы и памяти, заданные для запуска
meterсчётчик, который измеряет объём работы, потраченный на запуск
маршрутодин способ выполнить правило
route lockфайл, где выбранный маршрут записан независимо от расположения продукта на машине
portable coreзапись, которая связывает правило, ввод, лимиты и результат одного запуска
квитанциязапись о том, что дал один запуск или одна установка
сводная проверкаодин прогон проверок, собранный в единый вывод
поверхностьместо, где доступен Лиспекс, например Native, npm, сборка WebAssembly или Песочница, а поверхность языка означает охваченную его часть
ТопазОтдельный язык и его компилятор. Лиспекс использует его как виртуальную машину Топаза, выполняющую подготовленные инструкции, и как набор инструментов AOT, который заранее компилирует правило в отдельную программу
LILИнтерпретатор Лиспекса, написанный на Лиспексе
LITЛиспекс, написанный на Топазе
WASMсборка WebAssembly

Готовы? Откройте Путь обучения или сразу Первую программу, если предпочитаете учиться запуская код.

Лиспекс · Лиспекс