えーと、なんというか...。
しかし、外見がアレな部分を取り除いて本質を見るとなかなか興味深いものがある。 まったくメジャーになりそうな方向性ではないが、そういうことを目指すものではないだろう。
「萌香」はRubyで実装されている。
Smalltalk(Squeak)用のClassbox、Java用のClassbox/Jを参考にしつつ、 Classbox/Rをデザインしてみる。
しかし、Rubyでは
などの理由で、そのままは適用できそうにない。Classboxに似た概念は必要そうだが、 ちょっと違うものになりそう。
あれ、待てよ。
Classboxから派生する二つのマイナーなアイディアを組み合わせると、 かねてからの懸案であった
相当(追記: これらの機能が解決しようとしていた問題の解決)を一度に実現できるような気がしてきたぞ。
詳細を書くにはこの余白は(ry (またか)。
冗談はともかく、なかなか良さそうなアイディアのような気がしてきた。 しかし、良さそうと思っても実際にやってみるとそうでもない場合はたびたびなので、 もうちょっと考えてみよう。確実に言語(クラスまわり)が複雑になるので、 仕様の複雑さや性能とのトレードオフになるな。
まあ、この辺は(多重代入とかと違って)元があんまり複雑じゃないから、 仕様の複雑さの方はあんまり問題にならないかなあ。
娘です。
「萌香」ってなに??
読んだけど、ツッコミ入れにくいなぁ・・・。
とりあえず、「読んだ」という報告まで。
「萌香」って要するに Scheme を Ruby で実装して、日本語向きにちょっと変えたって感じでしょうか?
Scheme: (define a 123)
萌香: (a 123 define)
又は: 「a 123 定義」
又は: 「a を 123 に 定義 する」
又は: あのね a を 123 に 定義 します。
Scheme: (lambda (x) (+ x 2))
萌香: ((x) (x 2 +) lambda )
又は: 「(x) (x 2 足す) 仕事」
又は: 「(x) を (x に 2 を 足す) 仕事」
又は: あのね (x) を (x に 2 を 足す) 仕事 します。
Scheme: (define +2 (lambda (x) (+ x 2)))
萌香: あのね 足す2 を 「(x) を (x に 2 を 足す) 仕事」に 定義 します。
助詞の類がことごとくフェイクってのが(w
> 萌香
Lisp + FORTH (Mind) といったところですかね?
素直にMindで良いような気もしますが……
ここでのselector namespaceは、Classboxと同じものとして書いているのでしょうか?違うものとして書いているのでしょうか?
selector namespaceやclassboxが解決しようとしていた「なにか」(スコープを限定したメソッド)のことです。「機構」で「問題」を表現するのは不適切でしたかね。
> Classboxから派生する二つのマイナーなアイディア
これってどういうものなのでしょうか?教えていただけると、幸いです。
了解しました。selector namespaceとClassboxの違いが何なのか気になっていたので。今見直すと、普通に読めばわかる筈でした。