|
CMU Common Lisp (CMUCL) はカーネギーメロン大学で実装が行われた Common Lisp 処理系のフリーソフトウェアである。 CMUCL は Linux や BSD などの多くの Unix 系のプラットフォームで実行することができる。Windows への試験的な移植版もある。CMUCL からは Steel Bank Common Lisp というソフトウェアが派生しており、また Scieneer Common Lisp という商用版も CMUCL から作られている。 == 開発の経緯 == CMUCL は最初 Spice Lisp の一部として1980年ごろ、Common Lisp よりも早い時期に実装されたものであった。1985年に Rob MacLachlan が Python コンパイラ(後述)を作る目的でコンパイラを書き直し、CMUCL として IBM PC RT、MIPS、SPARC などの Unix ワークステーションに移植した。インテルの x86 アーキテクチャはレジスタが少なかったため、CMUCL の初期のバージョンではサポートしていなかった。CMUCL ではタグの付いたデータ型とそうでない型の区別が厳格であり、ガベージコレクションは CPU レジスタの半分はタグ付けされたデータ型、もう半分はタグのないデータ型に割り当てられていることを前提に動作する。この方法はバックエンドのコンパイラ (Python という名前だが、プログラミング言語の Python とは関係ない) が使うレジスタが不足することがある。 CMU でこのプロジェクトが中止になってからは (CMUCL のコンパイラ・ベースを使った Dylan による実装が代わりに生き残った)、ボランティア・グループによりメンテナンスが行われている。1996年からこのグループで正規版のリリースが行われている。 同時期にインテル x86 アーキテクチャへの移植も行われ、まず FreeBSD と Linux で実行できるようになった。レジスタの不足は、保守的ガベージコレクタを新しく実装することで解決された。このガベージコレクタでは、レジスタにどんな型のどんな値が載っていてもよく、またガベージコレクションや値の移動を想定していないポインタであっても扱うことができる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「CMU Common Lisp」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 CMU Common Lisp 」があります。 スポンサード リンク
|