根据the documentation,如果基础Monad有MonadIO
个实例(MonadIO
),则有一个MonadIO m => MonadIO (ConduitM i o m)
个实例。
为什么会这样:
yield (1::Int) $$ await >>= (liftIO.print) :: IO ()
失败了:
没有实例(MonadIO(ConduitM Int Data.Void.Void IO)) 因使用'liftIO'而引起的 在'(。)'的第一个参数中,即'liftIO' 在'(>> =)'的第二个参数中,即'(liftIO.print)' 在'($$)'的第二个参数中,即 'await>> =(liftIO.print)'
我在这里缺少什么?
刚检查过,显然我有变压器0.22和变压器0.3,这可能是原因。
答案 0 :(得分:2)
问题在于导管依赖于变压器-0.2.2.1(由于某种原因)而且我有两个变压器 - 0.3.0.0 - 隐藏变压器-0.3.0.0现在修复此问题(如果我使用了cabal它可能也会工作的。)实际上,这与here的问题相同。