Shelisp очень короткий программа, которая предоставляет механизмы для создания и запуска Unix оболочки (особенно Баш) команды и конструкции из Common Lisp.
Для запуска shelisp, скажем, в командной строке:
Lisp -load shelisp.lisp
Это должно начать CMU Common Lisp и обеспечить оперативное, *. Более удобная форма может быть, чтобы начать Emacs, и выполнить команду Mx cmulisp, которая начнет режим `уступает Lisp" с КМУ; тогда скажи:
(нагрузка "shelisp.lisp")
Челка (!) Бежать в оболочке
Теперь вы можете сказать, (далее «*» уже положить туда cmulisp):
*! Ls
И он будет выполнять команды оболочки Ls (путем запуска экземпляра Баш и попутные команду к нему.
Конечно, вы на самом деле в Lisp. Вы можете попробовать это:
* (DEFUN факториала (х) (если (zerop х) 1 (* х (факторный (1- х)))))
ФАКТОРИАЛ
* (Факторный 33)
8683317618811886495518194401280000000
Так что, если вы входите ``! '' Остальные линии (до первого конца линии, не избежал с `` '') интерпретируется как команда Баш и результат выводится на стандартный вывод.
Теперь попробуйте:
*! Эхо? (+ 2 3) Zuzu
5zuzu
В '?' является «сюсюкать побег. Это сопровождается S-выражение, которое читается, выполненной и печатных (с Princ), а результат печати заменяет '?' и выражение в команде оболочки. Это может быть любое выражение Lisp.
* Эхо (+ 2/3 2/11) "
Что нового В этом выпуске:?
- Несколько были добавлены другие функции (Wget-тест, Баш-результат), и эта версия переиздан под LGPL Lisp.
Комментарии не найдены