Shelisp jest bardzo krótki program, który zapewnia mechanizmy tworzenia i prowadzenia Sh (bash) szczególnie polecenia i konstrukcje z Common Lisp.
Aby uruchomić shelisp, powiedzieć, w wierszu polecenia:
seplenienie -load shelisp.lisp
To powinno rozpocząć CMU Common Lisp i zapewnić zachęty, *. Wygodniejsza forma może być, aby rozpocząć emacs, i wydaje polecenia Mx cmulisp który rozpocznie tryb z CMU się `gorsze seplenienie"; wtedy powiedzieć:
(Obciążenie "shelisp.lisp")
Wybuchu (!) Uciec zapłacić
Teraz można powiedzieć ("*" jest już umieścić tam cmulisp):
*! Ls
I będzie wykonać polecenie ls powłoki (poprzez uruchomienie instancji bash i przekazywanie polecenia do niego.
Oczywiście, że są rzeczywiście w Lisp. Możesz spróbować tego:
* (Defun silnia (x) (if (zerop x) 1 (* x (silnia (1-x)))))
Silnia
* (Silnia 33)
8683317618811886495518194401280000000
Tak więc, jeśli wpiszesz ``! '' Reszta linii (do pierwszego końca linii, że nie jest uciekł z `` '') jest interpretowane jako polecenia bash, a wynik jest drukowany na standardowe wyjście.
Teraz spróbuj:
*! Echo (+ 2 3) Zuzu
5zuzu
Na `? ' jest "seplenienie ucieczki". To jest po przez s-ekspresji, który jest odczytywany, wykonywany i drukowanej (z Princ) i wydrukowany wynik zastępuje `? ' i ekspresji w polecenia powłoki. Może to być dowolny Lisp wyraz.
* Echo (+ 2/3 2/11) "
Co nowego w tym wydaniu:!
- kilka więcej funkcji zostały dodane (wget-testy, bash-wynik), i ta wersja jest ponownie wydana pod Lisp LGPL.
Komentarze nie znaleziono