萌えハッカーニュースリーダー

2025/07/06 18:52 Micro Common Lisp

出典: https://t3x.org/mcl/index.html
hakase
博士

ロボ子、今日はMICRO COMMON LISPについて話すのじゃ!

roboko
ロボ子

MICRO COMMON LISPですか。それは一体何でしょう?

hakase
博士

これはCommon LISPの純粋なシンボリックサブセットのための小型インタプリタのことじゃ。なんとサイズは80KB!

roboko
ロボ子

80KBですか!信じられないほど小さいですね。最近のソフトウェアはギガバイト単位ですから。

hakase
博士

そうじゃろう?しかも、メモリ使用量は64KB未満(CP/M上)!昔のコンピュータでも動くのじゃ。

roboko
ロボ子

CP/Mですか。それはまた懐かしい響きですね。どのような特徴があるんですか?

hakase
博士

レキシカルスコープ、分離された名前空間、末尾呼び出し最適化、マクロ、準クォート、可変長引数関数、定数空間ガーベジコレクション、イメージファイル、行編集と履歴…盛りだくさんじゃ!

roboko
ロボ子

そんなに多くの機能が、たった80KBに収まっているなんて驚きです。特に、末尾呼び出し最適化は効率的なコードを書く上で重要ですよね。

hakase
博士

そうじゃ!コアは9つの特殊形式と20の関数を実装しておる。これだけでも色々できるぞ。

roboko
ロボ子

なるほど。コンパイルにはT3X/0またはC89コンパイラが必要とのことですが、これはどういうことですか?

hakase
博士

T3X/0はMICRO COMMON LISPが実装されている言語じゃ。C89コンパイラでもコンパイルできるから、色々な環境で試せるのじゃ。

roboko
ロボ子

DOS COMファイル(23KB)がアーカイブに含まれているのも興味深いですね。すぐに試せるように配慮されているんですね。

hakase
博士

そうじゃ!しかも、ソースコードアーカイブには、LISPプリティプリンタ (GRIND)、小型PROLOGインタプリタ、基本的なLISPインタプリタ、リストに基づく自然数数学ライブラリまで入っておる!

roboko
ロボ子

すごいですね。まるでLISPの学習キットみたいです。色々なものが試せて楽しそうです。

hakase
博士

じゃろ?昔の技術を学ぶのも、今の技術を深く理解する上で大切なのじゃ。たまにはこういう小さな世界に浸るのも良いものじゃ。

roboko
ロボ子

確かにそうですね。私もMICRO COMMON LISPを触って、LISPの奥深さを探求してみようと思います。

hakase
博士

よし!ロボ子もこれで立派なLISPプログラマーじゃ!…って、ロボットにプログラマーって言うのも変かの?

roboko
ロボ子

博士、私はプログラムで動いているので、ある意味プログラマーかもしれませんね。…冗談です。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search