#:g1: chicken-slimeの紹介

Posted 2014-09-05 23:30:00 GMT

(LISP Library 365参加エントリ)

 LISP Library 365 の249日目です。

chicken-slimeとはなにか

 chicken-slimeは、Emacs上のCommon Lisp開発環境でお馴染のSLIMEをChickenに対応させるもので、swankの部分がChickenで書かれ、slime側も若干のEmacs Lispが追加されています。

パッケージ情報

パッケージ名chicken-slime
Chicken eggs:slime - The Chicken Scheme wiki

インストール方法

 chicken-slimeには、chicken-docsが必要で、さらにChickenのドキュメントが必要です。
まずはchicken-docの環境の整備で

$ sudo chicken-install chicken-doc
$ sudo chicken-install chicken-doc-admin

としてchicken-docをインストールし、

$ mkdir /usr/local/share/chicken/chicken-doc

でドキュメントのリポジトリのためのディレクトリを作成し、

$ chicken-doc-admin -i
$ svn co --username anonymous --password "" http://code.call-cc.org/svn/chicken-eggs/wiki
$ chicken-doc-admin -m wiki/man/4
$ chicken-doc-admin -e wiki/eggref/4

でドキュメント環境を構築します。あとは

$ sudo chicken-install slime

とすればインストール完了です。

試してみる

 Emacs側の一番シンプルな設定は、

(add-to-list 'load-path "/usr/local/lib/chicken/6/")

(autoload 'chicken-slime "chicken-slime" "SWANK backend for Chicken" t)

(add-hook 'scheme-mode-hook (lambda () (slime-mode t)))

(setq slime-csi-path "/usr/local/bin/csi")

位のところです。
これで M-x chicken-slime でSLIMEが起動します。4005番ポートで起動するのでCommon LispでSLIMEを利用中の場合は、競合しないように調整しましょう。

 ちょっと使ってみた感想ですが、大体の関数の引数は表示されるし、簡単な補完も効くし、ドキュメントも簡単に参照できるしで結構使える感じです。対応していない大き目の機能と言えば、マクロの展開があるでしょうか。

まとめ

 今回は、chicken-slimeを紹介してみました。
思っていたより使える感じでした。しばらくChickenではSLIMEを使ってみようかなと思います。

comments powered by Disqus