滅多に使われない常套句

「一度は言語処理系を書いてみるといいよ、プログラムに対する理解がぐっと深まるから。おれも勉強したものさ。対話環境がある言語でその言語自身を実装すると楽しいし面白いよ。そうだね、例えば Common Lisp を書くなんてお勧めだよ。」

上は冗談としても、しかし現実に xyzzy の人や Movitz の人など、実際に Common Lisp 処理系を0から書ける能力を持っている個人というのは存在するのだよなぁ。

Common Lisp を使って Common Lisp コンパイラを書く、というのはどんな感じか妄想してみよう。現在やっているような scheme コンパイラを書くのとはだいぶ違うアプローチになるだろう、とは予想される。

  • tagged pointer によるデータ表現。
  • シンボルとパッケージ。
  • リーダー。
  • コンパイラ
  • メモリの扱い。
  • 大量のデータ型。
  • GC
  • オブジェクトシステム。
  • 最適化。