@@ -14,7 +14,6 @@ module Control.Monad.Free.Trans
14
14
import Prelude
15
15
16
16
import Control.Apply (lift2 )
17
- import Control.Monad.Eff.Class (class MonadEff , liftEff )
18
17
import Control.Monad.Error.Class (class MonadThrow , throwError )
19
18
import Control.Monad.Reader.Class (class MonadAsk , ask )
20
19
import Control.Monad.Rec.Class (class MonadRec , Step (..), tailRecM )
@@ -25,6 +24,7 @@ import Data.Bifunctor (bimap)
25
24
import Data.Either (Either (..))
26
25
import Data.Exists (Exists , mkExists , runExists )
27
26
import Data.Monoid (class Monoid , mempty )
27
+ import Effect.Class (class MonadEffect , liftEffect )
28
28
29
29
-- | Instead of implementing `bind` directly, we capture the bind using this data structure, to
30
30
-- | evaluate later.
@@ -88,8 +88,8 @@ instance semigroupFreeT :: (Functor f, Monad m, Semigroup w) => Semigroup (FreeT
88
88
instance monoidFreeT :: (Functor f , Monad m , Monoid w ) => Monoid (FreeT f m w ) where
89
89
mempty = pure mempty
90
90
91
- instance monadEffFreeT :: (Functor f , MonadEff eff m ) => MonadEff eff (FreeT f m ) where
92
- liftEff = lift <<< liftEff
91
+ instance monadEffectFreeT :: (Functor f , MonadEffect m ) => MonadEffect (FreeT f m ) where
92
+ liftEffect = lift <<< liftEffect
93
93
94
94
instance monadAskFreeT :: (Functor f , MonadAsk r m ) => MonadAsk r (FreeT f m ) where
95
95
ask = lift ask
@@ -109,11 +109,11 @@ liftFreeT fa = FreeT \_ -> pure (Right (map pure fa))
109
109
110
110
-- | Change the underlying `Monad` for a `FreeT` action.
111
111
hoistFreeT :: forall f m n a . Functor f => Functor n => (m ~> n ) -> FreeT f m a -> FreeT f n a
112
- hoistFreeT = bimapFreeT id
112
+ hoistFreeT = bimapFreeT identity
113
113
114
114
-- | Change the base functor `f` for a `FreeT` action.
115
115
interpret :: forall f g m a . Functor f => Functor m => (f ~> g ) -> FreeT f m a -> FreeT g m a
116
- interpret nf = bimapFreeT nf id
116
+ interpret nf = bimapFreeT nf identity
117
117
118
118
-- | Change the base functor `f` and the underlying `Monad` for a `FreeT` action.
119
119
bimapFreeT :: forall f g m n a . Functor f => Functor n => (f ~> g ) -> (m ~> n ) -> FreeT f m a -> FreeT g n a
0 commit comments