@@ -28,7 +28,6 @@ module Control.Monad.Trans.Ether.Writer
29 -- * Lifting other operations
29 -- * Lifting other operations
30 , liftCallCC
30 , liftCallCC
32 , liftListen
31 , liftListen
33 , liftPass
32 , liftPass
@@ -145,10 +144,6 @@ listen t m = tagged t $ Trans.listen (coerce m)
145pass :: (Monoid w, Monad m) => proxy tag -> WriterT tag w m (a, w -> w) -> WriterT tag w m a
144pass :: (Monoid w, Monad m) => proxy tag -> WriterT tag w m (a, w -> w) -> WriterT tag w m a
146pass t m = tagged t $ Trans.pass (coerce m)
145pass t m = tagged t $ Trans.pass (coerce m)
148−-- | Lift a @catchE@ operation to the new monad.
149−liftCatch :: proxy tag -> Sig.Catch e m (a, w) -> Sig.Catch e (WriterT tag w m) a
150−liftCatch t f m h = tagged t $ Trans.liftCatch f (coerce m) (coerce h)
152-- | Lift a @callCC@ operation to the new monad.
147-- | Lift a @callCC@ operation to the new monad.
153liftCallCC :: Monoid w => proxy tag -> Sig.CallCC m (a, w) (b, w) -> Sig.CallCC (WriterT tag w m) a b
148liftCallCC :: Monoid w => proxy tag -> Sig.CallCC m (a, w) (b, w) -> Sig.CallCC (WriterT tag w m) a b
154liftCallCC t callCC f = tagged t $ Trans.liftCallCC callCC (coerce f)
149liftCallCC t callCC f = tagged t $ Trans.liftCallCC callCC (coerce f)
@@ -182,4 +177,4 @@ instance (Monoid w, Class.MonadWriter w' m) => Class.MonadWriter w' (WriterT tag
183instance (Monoid w, Class.MonadError e m) => Class.MonadError e (WriterT tag w m) where
178instance (Monoid w, Class.MonadError e m) => Class.MonadError e (WriterT tag w m) where
184 throwError = lift . Class.throwError
179 throwError = lift . Class.throwError
185− catchError = liftCatch Proxy Class.catchError
180+ catchError = Lift.liftCatch Class.catchError