3/07/2011

第1回 Common Lisp処理系のインストール

同僚の深町さんと「モダンCommon Lisp」シリーズを初めることになりました。今回はCommon Lisp処理系のインストール方法について解説します。

どの処理系を使うか

Common Lispには処理系が多数存在するため、プログラミングを初める前に、まずどの処理系を使うか決めなくてはなりません。商用ならAllegro CLでほぼ一択のようですが、お金がかかりますし、プロプライエタリソフトウェアですから、今回は候補から除外します。

無料で手に入る(フリーな)処理系としてはSBCLが有名です。多くのライブラリでサポートされている処理系であり、コンパイラの品質が高い(速いコードが生成される)という強みを持っていますが、スレッドサポートがかなり怪しいらしく(未確認)、またコンパイルに非常に時間がかかるという問題を持っています(開発のテンポに影響)。

SBCL以外には、例えばCLISPなどがありますが、今回は深町さんに教えてもらったClozure CLをおすすめしようと思います。

Clozure CLは、SBCLほどではないにしろ、多くライブラリでサポートされている処理系であり、また元々のサポートの対象であったDarwin系のOS以外にも、GNU/LinuxやFreeBSD、Solaris、Windowsに対応しています。深町さんはMac OS X 10.6で、僕はUbuntu 10.10でClozure CLを使っていますが、今までで致命的な問題になったことはないです。また、SBCLに比べて非常にコンパイルが速いのも重要な利点です。ただ、生成されるコードの品質はそれほど良くないので、開発時はClozure CL、運用時はSBCL、という使い分けが良いと思います。

Clozure CLをインストールする

※追記1: Clozure CLに加えて今後の連載で紹介するEmacs、SLIME、Quicklispもすべて含めたLispboxというプロダクトもあります。

※追記2: Macを使っていて、Homebrewを導入している人はbrew install clozure-clで最新のClozure CLをインストールできます。

現在での最新安定板はv1.7です。一応、次のURLから最新版を確認してください。

http://trac.clozure.com/ccl

ここではGNU/Linux x86_64にClozure CL v1.7をインストールする手順を説明します。Mac OS Xでもほぼ同じ手順でインストールできると思います。

まず~/optにリリースをダウンロードします。

$ mkdir -p ~/opt
$ cd ~/opt
$ # Mac OS Xならdarwinx86
$ # Linuxならlinuxx86
$ # 詳しくは上記URLを参照
$ svn co http://svn.clozure.com/publicsvn/openmcl/release/1.7/linuxx86/ccl

cclディレクトリが作られ、その中に32bit用と64bit用の実行可能ファイルが置かれます。なぜSubversionなのかというツッコミはやめましょう。

実行スクリプトはscriptsディレクトリの中にccl (64bit用はccl64) という名前で入っています。実行する際はCCL_DEFAULT_DIRECTORYに、checkoutしたcclディレクトリのパスを設定してください。

このスクリプトをPATH環境変数の通ったディレクトリにcclという名前で保存します。ここでは~/binに置きます。

$ cp scripts/ccl ~/bin/ccl
$ chmod +x ~/bin/ccl

最後にターミナルでcclを起動して、正しく動作すればOKです。

$ ccl
Welcome to Clozure Common Lisp Version 1.7-r14925M (LinuxX8632)! ?

次回はQuicklispのインストール方法について解説します。

0 件のコメント:

コメントを投稿