Jumpei Arakawa
araka****@infoc*****
2005年 11月 16日 (水) 03:10:35 JST
荒川です。 | 池田です。 | | ちょいと危険な香りのする考えが頭に上ってきてしまいました。 読みました。かなりデンジャーなかほりですねー。 が、僕も触発されてかなりデンジャーなアイデアが(^^; 現状だと、例えば要素部や挙動部をごっそり書き換えることができません。 (メタ結合だと結合ルールにしたがないといけないので、すでにあると追加等になる) そこで、強い?オブジェクトを使った強制書き換えを用意する。 強いオブジェクトは結合時に相手を無視する。とりあえず、記号は#を使うことにする。 { A | 1, 2, 3 | hoge } <+ #[a, b, c] ==> { A | a, b, c | hoge } { B | a, b, c | fuge } <+ #{a + b; b +c; c + a} ==> { B | a, b, c | a + b; b +c; c + a } (同じようにタプルも#()で何か意味を持たせても楽しいかも) で、抽出則ですが .a = #{ aを取り出す処理 } とすれば、 [@obj| ... |...] .a ==> [@obj| ... |...] <+ #{ aを取り出す処理 } ! ==> [@obj| ... | aを取り出す処理 ] ! ==> aの値 となってハッピー。さらに、#の意味を強くして 前に居ても相手を無視するって事にすれば、 .a [@obj | ... | ... ] でも抽出できることになる。 で、強いもの同士だったら従来の結合ルールとか。 #{ @A | a, b, c | a + b + c } <+ #[1, 2, 3] ==> #{ @A | a = 1, b = 2, c = 3 | a + b + c } (結合後は#が取れた方がいいかな?) あ、そういや#は配列アクセスで使ってた。 あえて、「.」とかにしてみる?(笑 「.」 は強化記号として、.aはaを強化してる、とかw あー、なんてデンジャラスなんだ(苦笑