Common Lisp のインストールと Emacs で編集する環境を作る
Ubuntu 12.04 で Common Lisp を使ってみた。
処理系のインストール
調べると処理系がいくつかあることがわかる。 とりあえず、apt でインストールできるものはだいたいインストールしてみた。
apt-get install clisp gcl sbcl ecl sbcl-doc ecl-doc clisp-doc gcl-doc
以下では sbcl を使ってみた。
quicklisp
Common Lisp のライブラリを扱うには http://www.quicklisp.org/ を使うようだ。 http://www.cliki.net/ASDF-Install は obsolete になっている。
apt-get install cl-quicklisp
デフォルトだと ~/quicklisp にインストールされる。隠しディレクトリにしておきたいので ~/.quicklisp にインストールする。端末で
sbcl
として
(load "/usr/share/cl-quicklisp/quicklisp.lisp")
(quicklisp-quickstart:install :path ".quicklisp/")
とする。~/.sbclrc に設定を追加するには
(ql:add-to-init-file)
とする。
slime & ac-slime
Common Lisp で書かれたプログラミングを編集するのに Emacs の slime を使う。
apt-get install slime
で slime をインストールする。 https://github.com/purcell/ac-slime から ac-slime.el をダウンロードして Emacs が読みこむことができる適当なディレクトリに保存する。 そして ~/.emacs.d/init.el などに次のような設定を書き込む。
(when (require 'slime nil t)
(setq inferior-lisp-program "sbcl")
(slime-setup '(slime-repl slime-fancy slime-banner))
(setq slime-net-coding-system 'utf-8-unix)
(require 'ac-slime)
(add-hook 'slime-mode-hook 'set-up-slime-ac)
(add-hook 'slime-repl-mode-hook 'set-up-slime-ac))
slime がインストールされていないシステムでもエラーが起こらないようにした。
Emacs で M-x slime として拡張子が .lisp のファイルを開いて編集する。 C-c C-d から始まるキーバインドでドキュメントの表示が割り当てられている。 C-c C-d f で関数、 C-c C-d d でシンボルのドキュメントを見ることができる。