Clojureは浦島太郎状態なので、リハビリする。
まずはClojure環境構築記事が大分古くなったので最新化
Emacsの準備 (package.el+Marmaladeでパッケージ管理)
MarmaladeはEmacs24から標準搭載らしいElispのパッケージ管理システム。使ってるEmacsは23なのでとりあえずマニュアルインストール(wgetしてload-pathに追加)。
(「It's fully compatible with package.el and ELPA」って書いてあるけど包含関係がいまいち分かっていない)
$ cd ~/.emacs.d/elisp
$ wget http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el
ちなみに僕は↓のような読み込み設定を書いています(5年くらい前に書いたままだ。。)
;; loading local elisp
(let ((my-elisp-dir "~/.emacs.d/elisp"))
(when (file-exists-p my-elisp-dir)
(unless (member my-elisp-dir load-path)
(setq load-path (cons my-elisp-dir load-path)))
(dolist (f (directory-files my-elisp-dir))
(when (file-regular-p (format "%s/%s" my-elisp-dir f))
(print (format "loding %s" f))
(require (intern (car (split-string f "\\."))))))))
package.elの設定は以下。レポジトリにMarmaladeを設定。
(require 'package)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)
を設定(M-x eval-current-bufferで即反映)。
M-x package-listでインストールできるパッケージの一覧取得。
代表的コマンドは以下
- M-x package-list (インストールしたいパッケージでiを押して、xでインストール)
- M-x package-install (Enter押したあと、パッケージ名入力)
- M-x package-refresh-contents
clojure-modeインストール
M-x package-install clojure-modeで。
2011-11-26時点で最新版のclojure-mode-1.11.4がインストールされました。更新が早い!clojurescript-modeとかあるw
あとは.emacs.elに
(require 'clojure-mode)
を書く。
Pareditの設定
よくわからんけど、clojure-modeのページで説明されてるし、ClojureBoxにも入っているみたいだから、設定しておく。.emacs.elに↓を設定。
(defun turn-on-paredit () (paredit-mode 1))
(add-hook 'clojure-mode-hook 'turn-on-paredit)
あとで調べる
slimeのインストール
同様にM-x pacakge-install slimeとM-x package-install slime-replを実行(エラーが出ても無視)。
leiningenのインストール
言わずとしれたClojureのビルドツールleiningen。wgetするもよし、パッケージ管理システム経由で取得するのもよし。僕はbrewで(バージョンは1.6.1)
$ brew info leiningen
leiningen 1.6.1
http://github.com/technomancy/leiningen
/usr/local/Cellar/leiningen/1.6.1 (3 files, 36K)
Standalone jar and dependencies installed to:
$HOME/.m2/repository
http://github.com/mxcl/homebrew/commits/master/Library/Formula/leiningen.rb
$ brew install leiningen
swank-clojureのインストール
slimeとclojureプログラムをつなげるサーバーのswank-clojureをインストール
$ lein plugin install swank-clojure 1.3.3
バージョンは2011-11-26時点の最新。
新規プロジェクト作成
$ lein new hello
$ cd hello
$ emacs -nw src/hello/core.clj
ファイルを開いてM-x clojure-jack-inでswank-serverが立ち上がる(昔に比べてめちゃくちゃ楽だ。。)
あとはコードを書いてはreplで試して開発を勧めればおk。
代表的なコマンドはSLIME Commands参照。
個人的によく使うのは↓かな
- C-x C-l 現在のバッファを読み込んでREPLに反映
- C-x C-m マクロ展開
- C-c TAB 補完
- M-. ソースコードにジャンプ