Clojure開発環境(Slime)をEmacsで今風に構築してみたよ

気になる DSLs in ActionClojureのコードが載っているので、
今のうちに開発環境を整えておこうと思いました。
というのが動機です。Clojureやその周辺については素人です。

Emacs24に標準で搭載される(らしい)package.el
様々なパッケージを、依存関係やら何やら自動的に解決して一発インストールしてくれるという、
なんていうか流行りっていうか、モダンですね。

ただうちのEmacsさんは23なので、23用のpackage.elをDLして使います。
アーカイブリストはELPAMarmaladeを利用。*1

シェル:

$ mkdir -p $HOME/.emacs.d/elpa/
$ cd $HOME/.emacs.d/elpa/
$ wget http://bit.ly/pkg-el23

.emacs.d/init.el:

(when
    (load
     (expand-file-name "~/.emacs.d/elpa/package.el"))
  (add-to-list 'package-archives '("elpa"      . "http://tromey.com/elpa/"))
  (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
  (package-initialize))

これでインストールおしまい。M-x package-list-packages して h を叩けば
Diredを使っているEmacsユーザなら感覚的にわかると思います。*2
あとはほとんど以下の記事を参考にさせてもらいました。

2012年4月15日現在、Ubuntu11.10(の標準リポジトリ)でインストールできる
Clojureのバージョンは1.1.0、leiningenは1.6.1らしいです。

ただ、Slimeのために使うleiningenのプラグインswank-clojureの最新版は1.4.2らしいんで、
ひょっとしたら何か食い違う部分があるかも知れません。

シェル:

$ sudo apt-get install clojure leiningen  # 90個近くパッケージをインストールすることに
$ lein plugin install swank-clojure 1.4.2

そして、上記URLのごとくClojureプロジェクトを作成し、
M-x clojure-jack-in でSlimeが起動しました。
Lisperならお馴染みかつ手放せない必須環境なので、既に幸せです。

Happy Hacking!

*1:Marmaladeのみだと「ruby-modeがないよ」的なことを言われて中断されちゃうので。

*2:ちなみに僕はhowmnavi2ch以外のほとんどのパッケージをpackage.elで管理してもらうことにしました。