Песочница

Первая программа

Запустите Лиспекс в Песочнице или из файла `.lspx`, разберите вывод, исправьте одну ошибку чтения и добавьте официальное расширение редактора.

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

Запуск в Песочнице

Откройте Песочницу, замените содержимое редактора этой программой и нажмите Запустить:

LISPEX
(define language "Lispex")

(list 'hello language (+ 2 3))

Результат

OUTPUT
(hello "Lispex" 5)

Первая форма связывает строку "Lispex" с именем language. Последняя создаёт список из цитированного символа, строки и результата (+ 2 3). define не печатает значение, поэтому виден только последний список.

Замените 3 на 8 и запустите ещё раз. Если последний элемент стал 10, браузерная часть готова.

Сохранение локального файла

Сохраните исходник как hello.lspx и выберите один из двух локальных путей:

SHELL
npx lispex hello.lspx

или скачайте Native-бинарник для своей платформы:

SHELL
lispex hello.lspx

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

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

Подсветка, значок файла и форматирование

Официальное расширение распознаёт .lspx, подсвечивает синтаксис Лиспекса, показывает значок файла в светлой и тёмной теме и форматирует документ через установленный Native CLI:

Точный идентификатор — studiohaze.lispex. После установки Native-бинарника используйте Format Document или форматирование при сохранении. Расширение запускает lispex fmt -; если бинарника нет в PATH, задайте путь в lispex.format.executable. Оно не содержит runtime или language server и не даёт автодополнение, hover-типы либо диагностику редактора. В npm, публичном WASM и Песочнице форматтера нет.

Одна диагностика

Удалите закрывающую скобку первого define:

LISPEX
(define total 10

(+ total 5)

Команда завершится неуспешно и сообщит диагностику reader E100. Главное — этап: Лиспекс не смог дочитать одну форму, поэтому вычисление не началось. Верните ) после 10, прежде чем искать ошибку времени выполнения.

Диагностика идёт в standard error, а неуспешный запуск возвращает ненулевой статус. Позже страница Ошибки и диагностика разделит ошибки чтения, нормализации, выполнения и ресурсов.

Упражнение

Измените успешную программу так, чтобы она напечатала:

(hello "Lispex" 12)
Показать один ответ

Сделайте последней формой (list 'hello language (* 3 4)). Внутренний вызов (* 3 4) завершается до того, как list получает три значения.

Готовы к шагу 2?

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