GeiserはSchemeインタープリタであるRacketまたはGuile用のメジャーモードを実現するもので、Slimeのようなインタラクティブ環境を利用可能になる。
インストール
実行環境
OS: Ubuntu12.04Emacs: 24.3 (自分でmake,installしたもの)
Racket: 5.1.3(Ubuntu12.04標準)
Geiserのサイトの説明を見ると Racketのバージョンは5.3以上を推奨しているが、5.1.3でも一応動いた。
そのうちRacketを最新版にしよう。
Geiserのインストール
GeiserはELPAでインストールすると簡単だ。Marmaladeリポジトリからインストールできる。次のようにして、パッケージインストーラーがMarmaladeリポ
ジトリを参照できるようにする。
(require 'package)
;; Marmaladeを有効にする
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t)
package-installコマンドでインストールする。
M-x package-install RET geiser RET
geiserは ~/.emacs.d/elpa/geiser-0.3/ にインストールされる。
init.elに次の設定を追加する。
;;; Geiser
(add-to-list 'load-path "~/.emacs.d/elpa/geiser-0.3/")
(require 'geiser)
Geiserの起動
次のコマンドで起動する。M-x run-geiser
「Start Geiser for scheme implementation: 」と聞いてくるので、
racketを入力する。
しばらく待つとREPLが起動する。
M-x run-geiser は毎回、どのschemeを使うか聞いてくるので、init.elに
(setq geiser-active-implementations '(racket))
を書いておけば、常にracketになる。
Mini bufferに関数の説明が出たり、TABでコード補完が効くので、Slime同様に、かなり便利だ。
http://www.nongnu.org/geiser/geiser_3.html#The-REPL によると、
- swank-server/slime-connectのように、外部のschemeへ接続
- 名前空間の切り替え (Racketはnamesapceを持っているようだ)
- コンパイル時のエラーハンドリング (エラー箇所は色が変わるようだ)
- ドキュメントの表示
- イメージの表示 (Racketはイメージオブジェクトをサポートしているようだ)
と、様々な機能がある。
しばらくの間、この環境でRacketのコードを書いて遊ぼう。
参考URL
- Realm of Racket http://realmofracket.com/
- Geiser http://www.nongnu.org/geiser/