以前、考えた時には「無理かも」と思ったTraitsだが、 今日になって久しぶりに考えてみたら、 なにも難しいことをせずとも、ただ単に新しくModuleを生成する演算(メソッド)を いくつか追加するだけで良いのではないか、という気になった*1。
ただ、Rubyのモジュールは一種の継承関係を維持しているので、 sumなどをきちんと定義できるかどうかはまだ不明だ。 もうちょっと考えてみよう。
それはそれとして、ModuleとClassの間の継承関係は不要のような気がしてきた。 もちろん、実装を共有できる部分は多々あるのだが、だからといって継承関係が必要なわけではない。 以前、MethodとUnboundMethodを分離したように、ClassとModuleを分離してもよいかもしれない。
*1 そうしてTraitsを導入して何がうれしいのかはいまいち不明なのだが
当初、ORマッパーについて書こうと思っていたのだが、 どうしてもRDBについて書く気になれなくて、ここ数日困っていた。 結局、RD, Textile, Markdownなどの「プレーンテキスト風味マークアップ」について 書くことにする。とはいえ、テーマがようやく決まってもさっぱりやる気が向上せずに相変わらず困っているのだな。