Песочница

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

Запустите программу, измените результат с 5 на 10 и исправьте пропущенную скобку. Затем сохраните локальный файл или настройте редактор.

Запустите программу на Лиспексе и измените одно число, чтобы понять, почему результат меняется с 5 на 10. Начните в браузере без установки.

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

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

LISPEX
(define language "Lispex")

(list 'hello language (+ 2 3))

Результат

ВЫВОД
(hello "Lispex" 5)

define даёт строке "Lispex" имя language. Последнее выражение вызывает list, чтобы собрать три значения. Это символ hello, строка из language и сумма 2 и 3. Апостроф перед hello сохраняет это имя как данные.

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

Замените 3 на 8 и запустите программу снова.

Результат

ВЫВОД
(hello "Lispex" 10)

Последний элемент меняется, потому что (+ 2 8) возвращает 10. Символ и строка остаются прежними.

Исправление пропущенной скобки

Замените содержимое редактора следующим примером. В первой строке пропущена закрывающая скобка.

LISPEX
(define total 10

(+ total 5)

Лиспекс сообщает об ошибке E100. Он не может закончить чтение первого выражения, поэтому программа не выполняется. Добавьте ) после 10 и запустите снова.

Результат

ВЫВОД
15

Исправленная программа задаёт total равным 10, затем прибавляет 5. Ошибки чтения, преобразования сокращённого синтаксиса, выполнения и расхода ресурсов описаны в разделе Ошибки и диагностика.

Упражнение

Вернитесь к первой программе и измените её, чтобы получить такой результат.

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

Замените последнее выражение на (list 'hello language (* 3 4)). Лиспекс вычислит вложенный вызов (* 3 4), прежде чем передать три значения в list.

Переход к шагу 2

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

Сохранение и запуск локального файла

Сохраните исходную программу с (+ 2 3) в файл hello.lspx. Если Node.js установлен, запустите её через пакет npm.

SHELL
npx lispex hello.lspx

Или установите Native для своей платформы со страницы Загрузки и запустите тот же файл.

SHELL
lispex hello.lspx

Обе команды печатают следующий результат и завершаются с кодом 0.

(hello "Lispex" 5)

Оба продукта используют эталонную реализацию на Rust. npm запускает её через WASM, а Native исполняет напрямую. На странице загрузок описаны установка и проверка контрольных сумм.

Сохраните пример с пропущенной скобкой в unfinished.lspx и выполните lispex unfinished.lspx через Native. Команда завершится с кодом 1 и запишет следующую диагностику в стандартный поток ошибок.

E100 unfinished.lspx:1:1 unterminated list (missing `)`)

Чтобы позже подготовить скомпилированный файл, откройте Запуск проверенного байткода.

Подсветка синтаксиса и форматирование

Официальное расширение studiohaze.lispex подсвечивает синтаксис .lspx и добавляет значок файла для светлой и тёмной тем.

Для форматирования нужен отдельно установленный Native CLI. Используйте Format Document или форматирование при сохранении, чтобы упорядочить пробелы и переносы строк. Расширение передаёт документ команде lispex fmt - и использует возвращённый исходник. Укажите lispex.format.executable, если программа не находится в PATH.

Расширение предоставляет подсветку, значки и форматирование. Для просмотра значений и диагностики запускайте код в Песочнице или CLI. Для форматирования используйте Native.