池田優一
eclip****@cspc*****
2005年 11月 25日 (金) 15:13:18 JST
池田です。 > あくまで、フィルタという(通常が透過なので非透過の)それぞれのパートの要素があると思ってください。 > 内部名に対するフィルタ、要素部に対するフィルタ、挙動部に対するフィルタという感じです。 > > 「非透過」の「もの」を「重ねる」ことによって見えなくする、というのが僕の考えているコンセプトです。 > > 池田君の記述だと、「通さない」部分を「指示する」まったく別の「記述」、という感じで > 結合則リファクタリングの意味からすると、新たなルールが増えてイメージからも遠ざかる感じです。 > (フィルタがどんなものかの具体的なイメージできない、まさに単なるビット列です) ★オブジェクトの各パートには非透過な状態があるという感じでしょうか。 直書きは可能にしませんか? { A | a = 1 | do-something } <+ ({ | |><} <+ { aを取り出す処理 }) ! は、 { A | a = 1 | do-something } <+ {||> aを取り出す処理 <}) ! で、 { A | a = 1 |> aを取り出す処理 <} ! となるのかな。 ところで非透過な部分に重ねると追加されるのでしょうか。 {@name| x,y |> x <} <+ {||y} は {@name| x,y |> x; y <} ? > 簡単に言ってしまえば、nil を空(透過)とするとして、 > それに対応した非透過の概念(仮称:xyz)を導入するのです。 > > 空(透過): nil > 空(非透過): xyz > > 僕の最初の記述案ではスペースありの状態をnil、なしの状態をxyzとしている、という感じです。 > (nilが要素等としてあるという意味ではなく、内部名や要素部、挙動部の全体がnilってことね) ★透過というのは非透過でなければ良いってことですよね。 falseでなければtrueみたいな。 > ただ、誤解を招きやすいということであれば、_をxyzにするというようなアイデアもありですね。 > {_|_|_} もそれなりに通さない感はあるので、悪くはないと思います。{-|-|-} とかも悪くないですが、 > すでに使っている記号を使うのはやはり問題ですよねえ。{#|#|#}も同じ理由で没。 > {><|><|><} 顔文字みたいだw お、<>が非等価で><が非透過、うまい(笑 ★やっぱいいかもしれないと思いました。 で、上で書いたようにリテラルとして書けると良いかな。