ドキュメンテーションによると、基になる Monad にインスタンス ( )MonadIOがある場合、ConduitM のインスタンスがあります。MonadIOMonadIO m => MonadIO (ConduitM i o m)
なぜこれを行うのですか:
yield (1::Int) $$ await >>= (liftIO.print) :: IO ()
これで失敗します:
'liftIO' の使用から生じる (MonadIO (ConduitM Int Data.Void.Void IO)) のインスタンスはありません '(.)' の最初の引数、つまり 'liftIO' '(>>=) の 2 番目の引数'、つまり '(liftIO . print)' '($$)' の 2 番目の引数で、つまり 'await >>= (liftIO . print)'</p>
ここで何が欠けていますか?
確認したところ、明らかにトランス0.22とトランス0.3の両方があり、それが原因である可能性があります。