Проще всего понять Лиспекс, изменив программу и увидев новое значение. Начните в браузере. Локальную среду устанавливайте, когда захотите сохранить файл.
Запуск в Песочнице
Откройте Песочницу, замените содержимое редактора этой программой и нажмите Запустить:
(define language "Lispex")
(list 'hello language (+ 2 3))Результат
(hello "Lispex" 5)Первая форма связывает строку "Lispex" с именем language. Последняя
создаёт список из цитированного символа, строки и результата (+ 2 3).
define не печатает значение, поэтому виден только последний список.
Замените 3 на 8 и запустите ещё раз. Если последний элемент стал 10,
браузерная часть готова.
Сохранение локального файла
Сохраните исходник как hello.lspx и выберите один из двух локальных путей:
npx lispex hello.lspxили скачайте Native-бинарник для своей платформы:
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:
(define total 10
(+ total 5)Команда завершится неуспешно и сообщит диагностику reader E100. Главное —
этап: Лиспекс не смог дочитать одну форму, поэтому вычисление не началось.
Верните ) после 10, прежде чем искать ошибку времени выполнения.
Диагностика идёт в standard error, а неуспешный запуск возвращает ненулевой статус. Позже страница Ошибки и диагностика разделит ошибки чтения, нормализации, выполнения и ресурсов.
Упражнение
Измените успешную программу так, чтобы она напечатала:
(hello "Lispex" 12)Показать один ответ
Сделайте последней формой (list 'hello language (* 3 4)). Внутренний вызов
(* 3 4) завершается до того, как list получает три значения.
Готовы к шагу 2?
Переходите дальше, если можете показать имя, строку, вложенный вызов и итоговый список. Следующий урок: Значения, имена и процедуры.