1
タイプPipe a b m r -> Pipe (a, c) (b, c) m r
の関数が必要です。タプルで作業するパイプを持ち上げる
私はどれくらいプレイしてもfor
、~>
または>~
です。タイプを適切に一致させることはできません。
私を助けることができますか?
タイプPipe a b m r -> Pipe (a, c) (b, c) m r
の関数が必要です。タプルで作業するパイプを持ち上げる
私はどれくらいプレイしてもfor
、~>
または>~
です。タイプを適切に一致させることはできません。
私を助けることができますか?
一般的には可能ではないと思います。
hypotheticalLift :: Pipe a b m r -> Pipe (a, c) (b, c) m r
hypotheticalLift (yield b)
にはどのような動作が必要ですか?恐らくそれはc
のためにyield (b, c)
と同じであるべきですが、どちらがc
で、なぜですか?
申し訳ありませんが、あなたの意見は分かりません。私は 'hypotheticalLift'がタプルの2番目の引数をそのまま渡すことを期待していました。 'Control.Arrow.first'と同様に' c'を生成する必要はありません。 – utdemir
これは、下流に送られた各 'c'の上流から' c'を消費しなければならないことを意味します。 'b'を' yield 'したいときは、 'a'が' c'を副作用として与えるまで待ち行列に入れますか?それとも即座に待ちますか? 'あなたがそれを必要とするまで待ち行列に' a'を入れます。あなたが 'a'を'待っている 'ときは、付随する 'c'を任意に大きくなるかもしれない待ち行列に入れますか? – Gurkenglas
@Gurkenglas、ああ、今私はそれを理解している。ありがとうございました。 – utdemir