これは非常にラフで直感的な答えは、私はそれが正しいのですが、それはあるようにそれは感じているかどうか分かりません。あなたが持っている場合、それは(相当)
proc a -> do
a1 <- command1 <- ...
...
an <- commandn <- ...
structure (proc (a, a1, ..., an) -> do
block1 -< expression1[a, a1, ..., an])
...
(proc (a, a1, ..., an) -> do
blockm -< expressionm[a, a1, ..., an])
-< (a, a1, ..., an)
なり、つまり
proc a -> do
a1 <- command1 <- ...
...
an <- commandn <- ...
(| structure (block1 -< expression1[a, a1, ..., an])
...
(blockm -< expressionm[a, a1, ..., an])
|)
そして(|
|)
は、私はこれだけを把握し、block
秒にスコープ内のすべての<-
結合型の変数に供給する方法でありますオリバー・チャールズの書類をantijoins in Rel8に読みました。私はまだそれがむしろ心を曲げていると感じます。
私は、演算の引数( 'structure')で' - <'で取り込まれた変数は、演算の外側にバインドされた変数に '<-'によって強制されると考えています。 '構造体'はその入力型で多型です。 –