Objectをどう表現するか?

type tagと実際のデータ(へのポインタ)というのが本質だと思うんだけど。
構造体で表現するなら大体想像つくし、実際にEmacs LispCodeReading: EmacsLispのデータ構造のようになっていて、なるほどとうなずける。


ずっと前に図書館で借りたRubyソースコード完全解説を読んだ記憶ではRubyのオブジェクトも似たような構造だった気がする。
まあその頃は type tagとかコーディングそのものとか、いろいろな経験が全然足りなくて全然頭に入っていなかった気がするので間違っているかもしれないけど。


問題はC++の特性を生かしてClassとかTemplateでうまいことObjectを表現できる方法が浮かばないことだな。
頭をやわらかくすれば浮かぶんだろうか。


計算機プログラムの構造と解釈(SICP)を読まなかったら、こんなことに考えをめぐらせることも無かったんだろうなぁとか、考えると恐ろしい。。。