メタ

 「"Class"がインスタンスを分類し、"Metaclass"がクラスを分類する」とはどうゆう事だろうと、その裏を取るべく、色々いぢくり回しているうちに(何度もSqueakをフリーズさせながらw)やっとSmalltalk/Squeakメタモデルの基本的な部分が解かったような気がする(自信は無い。が、さらにいぢくり回せは自信が付くかも)。
 最初、何故"Class"は自分自身の中で定義されているインスタンスメソッドを Class method って呼び出せるんだろうと不思議でならなかったけど、Objectのメタクラス(と言うか、全てのメタクラス)は"Class"を継承しちゃってるってのがミソなんすねぇ。素敵だ。
 メタモデルをいぢってる参考になるようなコードはないかといつもの様にGoogle先生に聞こうかと思ったけど、そういえば以前そうゆうコードが載っているページを見付けてブックマークしたような記憶があったので、ブックマークを検索してみたら、やっぱりあった^^。
Happy Squeaking!! -オブジェクト指向再入門- [第四回:メタ機能との出会い]
この連載の中でメタモデルをいぢってSmalltalkにInterface概念を追加しちゃってる。面白い。早速勉強だ。