プログラミングClojure第二版を買ったので環境づくり

オーム社のページからプログラミングClojure第二版(電子版)を買ってみた。

第二版からはプロジェクト管理ツールleiningenを使うようになったのでこれをインストールする必要がある。とはいえシェルスクリプトに実行権限を与えて実行パスの通ったディレクトリに置くだけである。
サンプルコードにはproject.cljが入っていて、ここに依存するパッケージやClojureのバージョン(1.3.0)が指定してある。依存ライブラリのバージョンまで指定されているので、確実にサンプルコードを動かすことができる。第一版でサンプルコードがまともに動かずに苦しんだ自分にはありがたい。

サンプルコードのルートディレクトリまで移動して

$ lein deps

と入れるだけで必要なファイルがすべて自動的にダウンロードされる。

次に編集環境を作る必要がある。Emacsは入ってるとして、clojure-mode.elnrepl.elは自分で入れる必要がある。最近はEmacsにパッケージマネージャpackage.elが標準で付いてくるのでここからインストールする方法もある。.emacsに以下のコードを追加して、

;; Marmaladeの為の設定
(require 'package)
(add-to-list 'package-archives 
    '("marmalade" .
      "http://marmalade-repo.org/packages/"))
(package-initialize)

M-x package-refresh-contents [RET] をやることでレポジトリが更新される。その後に M-x package-install とやって、パッケージ名を入力すると、関連するファイルがダウンロード、バイトコンパイルされ、~/.emacs.d/elpa/ にインストールされる。
パッケージ名としてnrepl.el、clojure-modeと入れれば依存ライブラリも含めてまとめてインストールされる。


自分はgit cloneでソースをダウンロードして.emacsからrequireするようにした。nrepl.elはSLIMEほどきめ細かではないにせよ、leiningenとの連携を考えて作ってあるらしい。

Emacsでサンプルコード中のproject.cljを開いて、 M-x nrepl-jack-in と入れるとREPLが起動する。念のためバージョンを確認するとちゃんと1.3.0になっている。

user => (clojure-version)
"1.3.0"

これで環境構築はできた。