Shelisp beste ve Unix kabuk (özellikle bash) Common Lisp komutları ve yapıları çalıştırmak için mekanizmalar sağlar çok kısa bir programdır.
Shelisp çalıştırmak için, komut isteminde ki:
lisp -load shelisp.lisp
Bu CMU Common Lisp başlatmak ve *, istemi vermelidir. Bir daha uygun formu Emacs başlatmak, ve CMU ile bir `alt lisp 'modunda başlayacak komutu Mx cmulisp vermek için olabilir; Daha sonra, ki:
(Yük "shelisp.lisp")
patlama (!) kabuk kaçış
Şimdi ('*' zaten cmulisp orada konur) söyleyebiliriz:
*! Ls
Ve bir bash örneğini çalıştıran ve ona komutu ileterek (kabuk ls komutunu çalıştırmak olacaktır.
Tabii ki, Lisp aslında. Bu deneyebilirsiniz:
* (Defun faktörlü (x) (If (zerop x) 1 (* X (faktör (1 x)))))
FAKTÖRİYEL
* (Faktöryel 33)
8683317618811886495518194401280000000
Yani, girdiğiniz takdirde ``! 'Bash komut olarak yorumlanır ve sonuç standart çıktıya basılır' ('bir `` ile kaçtı değil satırın ilk sonuna kadar) hattının geri kalanı'.
Şimdi deneyin:
*! Yankı? (3 + 2) zuzu
5zuzu
`? ' 'lisp kaçış' olduğunu. Bu, okuma idam ve (Princ) ile basılır bir s-ifadesi takip ve baskılı sonuç `yerini alır? ' ve kabuk komut ifadesi. Herhangi bir Lisp ifadesi olabilir.
* Echo (+ 2/3 2/11) "
Bu sürümde Yeni nedir:!?
- Bir kaç Daha fazla işlevleri (wget-testi, bash-sonuç) ilave edildi ve bu sürüm Lisp LGPL altında yeniden yayımladı edilir.
Yorum Bulunamadı