«前の日記(2006年01月16日) 最新 次の日記(2006年01月18日)» 編集

Matzにっき


2006年01月17日 [長年日記]

_ [言語] 萌え指向プログラミング言語「萌香」

えーと、なんというか...。

しかし、外見がアレな部分を取り除いて本質を見るとなかなか興味深いものがある。 まったくメジャーになりそうな方向性ではないが、そういうことを目指すものではないだろう。

「萌香」はRubyで実装されている。

_ [Ruby] Classbox/R

Smalltalk(Squeak)用のClassbox、Java用のClassbox/Jを参考にしつつ、 Classbox/Rをデザインしてみる。

しかし、Rubyでは

  • 実体は単なるオブジェクト
  • クラス名は単なる定数に過ぎない
  • クラス名はネストできる

などの理由で、そのままは適用できそうにない。Classboxに似た概念は必要そうだが、 ちょっと違うものになりそう。

あれ、待てよ。

Classboxから派生する二つのマイナーなアイディアを組み合わせると、 かねてからの懸案であった

  • method combination (sort of AOP)
  • selector namespace
  • private instance variable

相当(追記: これらの機能が解決しようとしていた問題の解決)を一度に実現できるような気がしてきたぞ。

詳細を書くにはこの余白は(ry (またか)。

冗談はともかく、なかなか良さそうなアイディアのような気がしてきた。 しかし、良さそうと思っても実際にやってみるとそうでもない場合はたびたびなので、 もうちょっと考えてみよう。確実に言語(クラスまわり)が複雑になるので、 仕様の複雑さや性能とのトレードオフになるな。

まあ、この辺は(多重代入とかと違って)元があんまり複雑じゃないから、 仕様の複雑さの方はあんまり問題にならないかなあ。


«前の日記(2006年01月16日) 最新 次の日記(2006年01月18日)» 編集