7
Effect
の図は、pipes
パッケージの公式チュートリアルで提供されています。 Effect
以来どのように「効果」はすべてのフローではなく、2つのインフローのみをシールしますか?
type Effect = Proxy X()() X
Upstream | Downstream
+---------+
| |
X <== <==()
| |
() ==> ==> X
| | |
+----|----+
v
r
は、私はすべてのフローを封止する、それだけでProxy X X X X
であることを期待していた、データの任意の流れを持っていません。しかし、代わりに、それは2つのインフローを可能にします。それには特別な理由はありますか?私はちょうどEffect
が正常に署名Proxy X X X X
で、何を書けば、それは完全に罰金コンパイラに渡すことができます。
myMonad :: Proxy X X X X IO()
myMonad = do
a <- lift $ getLine
lift $ print a
return()
できないのはなぜこのような私たちrun
何か?あなたの例から