ResourceTコンジット 1.0.9.1から使用しようとすると、奇妙なエラーが発生します。ドキュメントからインスタンスが欠落しています。例えば
import Control.Monad
import Control.Monad.Trans
import Control.Monad.IO.Class
import Data.Conduit
test = runResourceT (lift $ print "Hello world")
ドキュメントには を含む多くのインスタンスがありますが、の使用に起因する( ) のインスタンスなしMonadTrans ResourceTliftで失敗しますMonadTrans ResourceT。REPL を確認すると、問題が確認されます。
Prelude> :m Data.Conduit
Prelude Data.Conduit> :i ResourceT
newtype ResourceT m a
= Control.Monad.Trans.Resource.Internal.ResourceT ...
-- Defined in `Control.Monad.Trans.Resource.Internal'
instance Monad m => Monad (ResourceT m)
-- Defined in `Control.Monad.Trans.Resource.Internal'
instance Functor m => Functor (ResourceT m)
-- Defined in `Control.Monad.Trans.Resource.Internal'
instance MonadThrow m => MonadThrow (ResourceT m)
-- Defined in `Control.Monad.Trans.Resource.Internal'
instance MonadBaseControl b m => MonadBaseControl b (ResourceT m)
-- Defined in `Control.Monad.Trans.Resource.Internal'
これは私の側のばかげた間違いのようですが、わかりません。欠落しているインスタンスはどこにありますか?