pipes-concurrency
次のようなコードがあります。
-- this won't compile but will give you the gist of what's happening
pipeline :: MonadIO m => Consumer a m ()
main = do
(output, input) <- spawn Unbounded
async $ do runEffect $ fromInput input >-> pipeline
performGC
-- skipped the `output` pipeline code.
質問 1 : これは明らかにコンパイルされませrunEffect
ん。これを行う方法はありますか?それとも、パイプラインが IO モナド内にエフェクトを含めるように強制するのに行き詰まっていますか?MonadIO m => m ()
async
IO a
質問 2 : MonadIO を実装する Monad 内に async を埋め込むことは理にかなっていますか? ここで自分自身をうまく表現できているかどうかはわかりません。
ありがとうございました!