空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

SBCL がいい感じ

etolisp を実装するにあたっては,Paul Graham の本と私の理解だけで,どこまで出来るものか試すために,他の実装がどうなっているのかとか,いっさい見てこなかった。まぁ,チラ見はしてたんだけど,今まで,あまりビビっと来るものがなかったのが実情。

今日何気なく,SBCL(Steel Bank Common Lisp)のコードをチラ見してみた。SBCL というのは,数値演算が FORTRAN 並みに速いという CMU CL から分岐したプロジェクトなので,筋はかなり良い。Steel Bank という名前は,CMU を創設した鉄鋼王カーネギーが,主に鉄と銀行で儲けてたということに由来するようだ。本家によると,CMU CL のコードをリファクタリングして大幅にメンテナンス性を向上させたものとのことである。etolisp のコードとの対応も,どことなくとれてるし,ソースコードがかなり分かりやすかった。

どの Common Lisp を使うか,色々迷ったけど SBCL が現時点で私にとって最良の選択肢なのかな。GPL ではなく BSD 系のライセンスであるというのもポイント。結構,初心者には CLISPGPL)を勧める人が多い。どっかのページで CLISP を勧める理由で挙げられててウケたのが「readline を使ってるので user friendly だから」というもの。うーん…Lisp ってそういう世界なのかーとしみじみ思った。

MacOSX で使用するには,例によって MacPorts が便利で,ターミナル上にて

% sudo port install sbcl

とうつだけで良い。

面白そうなので,じっくり腰を据えてコードを読んでみることにする。これを機に SLIME の環境なども整えてみようかと。