Раз я писал о возможности настройки лиспов для скриптования.
http://aluarium.net/forum/thread-944.html
Основная идея там была в том, чтобы набить библиотек в образ и использовать cl-launch для генерации скриптов-обёрток.
На самом деле не могу сказать, чтобы этот подход мне нравился. Архетипическое приложение на CL - это большая долгоиграющая система, которую можно хакать в рантайме. Иначе говоря, сервер. Теоретически его написать, кажется, не так сложно: лисп должен слушать на сокете, а клиент должен отправить ему форму для вычисления, после чего отправлять свой стандартный ввод в сокет и читать из сокета.
Есть такая штука как scriptl
http://quickdocs.org/scriptl/
которая по описанию мне нравится, но которую я никак не мог скомпилировать (ей нужна лисповая библиотека iolib, которой нужна какая-то нестандартная сишная библиотека, которую я не хочу ставить).
Я, наконец, написал кое-какой сервер для SBCL и клиент к нему. Идея такова, что для запуска написанных на лиспе программ не нужно было бы запускать отдельный лисп-процесс для каждой, а вместо загрузить весь софт в сервер на старте и связываться с сервером через клиент. Среди прочего софта можно загрузить и slime, и хаканье в рантайме осуществляется обычным способом, через
Emacs vim.
Фичи:
- *standard-output* и *error-output* направляются в stdout и stderr клиента;
- поддерживается код возврата;
- поддерживаются командные аргументы;
- минимальные зависимости.
Лежит здесь:
https://sourceforge.net/projects/trivialsbserver/
Makefil'а пока нет, так что как ставить, неясно.
В качестве дополнения планируется сделать удобной работу с пользовательским софтом: в первую очередь, автоматически генерировать скрипты-обёртки для клиента.