Shelispは、Common LispのからUnixシェル(特にbashの)コマンドおよび構築物を構成し、実行するためのメカニズムを提供し、非常に短いプログラムです。
shelispを実行するには、コマンドプロンプトで言う:
Lispの-loadのshelisp.lisp
これはCMU Common Lispのを起動し、*、プロンプトを提供する必要があります。より便利なフォームは、Emacsを起動し、CMUで `下位のLisp 'モードを開始しますコマンドMx cmulispを発行することである可能性があります。その後、言う:
(ロード」shelisp.lisp」)
bangが(!)シェルにエスケープ
今、あなたは( '*'は既にcmulispによってそこに置かれている)と言うことができます:
*!LS
そして、それはbashのインスタンスを実行し、それにコマンドを渡すことによって、(シェルlsコマンドを実行します。
もちろん、あなたがLispで実際に。あなたはこれを試すことができます。
*(関数定義階乗(x)は、())1(* xの(階乗(1-x))の)zerop xは(もしあれば)
FACTORIAL
*(階乗33)
8683317618811886495518194401280000000
だから、あなたが入力した場合、 ``! 'bashコマンドとして解釈され、結果は標準出力に印刷されて'( '``でエスケープされていない行の最初の最後まで)行の残りの部分」。
今すぐ試してみてください。
*!エコー?(+ 2 3)ズズ
5zuzu
`? ' 「lispのエスケープは 'です。それは、(のprinc付き)、読んで実行され、印刷されてS式が続いていると印刷結果は `を置き換え?」とシェルコマンドで表現。これは、任意のLisp式にすることができます。
!?*エコー(+ 2/3 2/11) "
のこのリリースのの新機能:数
- より多くの機能が(wgetのテストは、bash-結果)を加え、このバージョンはLispのLGPLの下で再リリースされます。
コメントが見つかりません