Skip to content

Repository files navigation

React Lisp

Интерактивная учебная среда на React 19, TypeScript 7 и Vite для знакомства с Lisp, рекурсией и функциональным программированием. Код выполняется локально в браузере — сервер и регистрация не нужны.

Возможности

  • лёгкий Lisp-редактор без внешних runtime-зависимостей;
  • запуск кнопкой или сочетанием Ctrl/Cmd + Enter;
  • четыре готовых примера: от простой функции до метода Ньютона и размена монет;
  • отдельные состояния результата, ошибки и пустого редактора;
  • адаптивный интерфейс и базовая поддержка доступности.

Запуск

Потребуются Node.js 22.12 или новее и npm.

npm install
npm start

Приложение откроется на http://localhost:3000.

Проверка и production-сборка

npm run check

Команда проверяет типы TypeScript, запускает тесты Vitest, затем создаёт оптимизированную Vite-сборку в каталоге dist.

Пример

(defun factorial(n)
  (cond
    ((= n 0) 1)
    (t (* n (factorial (- n 1))))))

(factorial 6)

Ограничения

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

Технологии

  • React 19;
  • TypeScript 7 в строгом режиме;
  • Vite 8;
  • Vitest 4.

About

A simple lisp machine for educational purposes.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages