缺少实例MonadIO for ConduitM?

时间:2014-05-25 10:51:54

标签: haskell conduit

根据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,这可能是原因。

1 个答案:

答案 0 :(得分:2)

问题在于导管依赖于变压器-0.2.2.1(由于某种原因)而且我有两个变压器 - 0.3.0.0 - 隐藏变压器-0.3.0.0现在修复此问题(如果我使用了cabal它可能也会工作的。)实际上,这与here的问题相同。