[mie-dev:00022] Re: 抽出=メタ結合+評価?

Back to archive index

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

あー、なんてデンジャラスなんだ(苦笑




mie-dev メーリングリストの案内
Back to archive index