CommonLispのモダンな開発環境を整える
CommonLispでの開発はこれまでEmacs+slimeが主流でした。
Vimとslimeを組み合わせて使うslimv.vimというのもありましたが、いずれにせよ古いエディターですので初心者には敷居が高いというのが現実です。
最近はSublimeTextやAtomなどの新進気鋭なエディターが人気で、Vimなどから移ってくる人も少なくありません。
そろそろ、その波がCommonLispに来ても良い頃合いだと思います。
今回はエディターとしてAtomを使い、処理系の管理にRoswellを使うという環境を構築するための手順を記します。
Roswellについては深町さんの記事が分かりやすいかと思います。
それでは手順です。
Windowsでの場合を書いていきますが、他の環境でも同様に行えると思います。
各インストール場所は各々の環境に合わせて置き換えてください。
まずRoswellをダウンロードして、C:\roswell
に展開します。
ここにパスを通せばコマンドラインから利用出来るようになります。
Windows10だと スタートを右クリック→システム→システムの詳細設定→環境変数 から行えます。
PATH
にC:\roswell
を追加してください。
msys2などを利用している場合は~/.bash_profile
あたりにPATH="/c/roswell:${PATH}"
などしてパスを通せば利用可能です。
次にAtomをインストールします。
上のページからインストーラーをダウンロードし、それに従ってインストールを行ってください。
インストールが完了したらAtomでCommonLispを書くためのパッケージを導入します。
パッケージインストールタブを開いて、
をインストールしてください。
終わったらatom-slimeのセットアップ手順に従い、slimeをダウンロードします。
上のページのClone or download
という緑色のボタンからzipをダウンロードして、C:\slime
に展開します。
そしてatom-slimeの設定画面でSlime Path
を先ほど展開したC:\slime
に設定してください。
次にLisp Process
のところでRoswellの処理系を使うようにします。
もともと使えなかったようなのですが、Roswellの方にissueを書いたらatom-slimeの方にプルリクを送ってもらえました。
2016/10/04現在はマージされていませんが、ここに書いてある通りに書き加えれば利用出来るようになります。
lib/swank-starter.coffee
の17行目あたりを以下のように書き換えてください。
args = [] # 17行目 args.push 'run' if command.match(/ros/) # ここが追加した行 args.push '--load' unless command.match(/clisp/) # CLISP does not have a --load option
Windowsの場合、AtomのパッケージはC:\Users\your-name\.atom\packages
にあるのでそこから直接ファイルを編集します。
パッケージの修正が終わったらLisp Process
にros
と入力してください。
以上でAtomの設定は完了となります。
さらにパッケージの読み込みなどはASDFのみで行い、外部からのインストールはRoswellで行うようにしましょう。
ASDFのsource-registry.conf
にRoswellでインストールされるパッケージの場所を書きます。
C:\Users\your-name\AppData\Local\config\common-lisp\source-registry.conf
を以下の内容で作成してください。
(:source-registry (:tree "/Users/your-name/.roswell/lisp/quicklisp/dists/quicklisp/software/") :INHERIT-CONFIGURATION)
以上でAtomとRoswellを組み合わせたモダンな開発環境の完成です!
新しくパッケージをインストールしたい場合はコマンドラインから、ros install package-name
で行うようにしましょう。
atom-slimeの使い方についてはまた別の記事で書く予定です。