同じ質問に対するWin32ソリューションを見てきました。Windows での無料の Lisp 実装として、Clozure CL (CCL) を強くお勧めします。これにはいくつかの理由があります。1 つ目は、Clozure が 32 ビットと 64 ビットのバイナリをサポートしていることです。非常に高速で、ややコンパクトです。しかし、最も重要なことは、一貫性があり、正しいことです。Lispworks (懐かしい) を数年間使用した後、非常に成熟した Lisp であることがわかりました。CCL は、ネイティブ OS スレッド、ソケット、および CL 仕様の一部ではないその他の要素をうまく処理します。CLOS の実装は非常に徹底しているようです。そして、それは GC であり、メモリ管理は優れています。CCL と Win32 の SBCL を比較したところ、いくつかのベンチマークで SBCL の方が少し高速でしたが、大幅に改善され、そのイメージはどんどん大きくなり続けました。いくつかの強制GCの後でも。一方、CCL は一貫性があり、小さく、速く、使いやすかったです。また、Windows、Mac、Linux で一貫しており、32 ビットと 64 ビットの両方をサポートするプラットフォームが必要な場合は、もう探す必要はありません。
私は Win32 で CormanLisp を試してみましたが、気に入った点がたくさんありました。ただし、64 ビットの Windows プラットフォームでは正しく動作せず、Win32 に限定されています。それはまた無料ではなく、どういうわけか、ガベージコードを投げるとクラッシュしてしまいました。また、SBCL を簡単にクラッシュさせることもできました。CCLではそうではありません。堅実。本当に、彼らは素晴らしい仕事をし、最終的には Lisp を存続させるのに役立つでしょう。
SLIME に関しては、SLIME を SBCL で動作させようとはしませんでしたが、CCL で問題なく動作するようにしました。あなたの好みが何であれ、簡単に移植できるようにコードを書くことをお勧めします。Windows、Mac、Linux を対象とし、64 ビットを対象としています。これらを考慮すると、CCL が総合的に最適な選択となります。
これに対する答えの最後の試みは、他の人のどこが悪いのかを考えることです。これが私が見つけたものです:
- CLISP は優れていますが、SBCL や CCL に比べてはるかに低速です。私は少し上向きに見えます
- SBCL は Win32 では不十分なようです。画像サイズが大きくなることがあります。
- CormanLisp は Win32 に適していますが、移植性がなく、Windows x64 をサポートしていません。また、Roger Corman は CormanLisp を積極的に開発していないように見えますが、これは残念なことですが、それが現実です。
- Clojure (「j」付き) はCommon Lispではありません。それは素晴らしいことかもしれませんが、すでに CL を知っているなら、Clojure の多くの相違点を学習するためにオーバーヘッドを費やす価値はないと思います。一部の人はすぐにそれらを拾うかもしれないと確信していますが、私は確かにそうしませんでした. (Java 互換のコードが必要な場合は、ABCL を参照してください)。
デイブ