@@ -29,37 +29,37 @@ import qualified Control.Monad.Error.Class as Class
29import GHC.Generics (Generic)
29import GHC.Generics (Generic)
30import Data.Coerce (coerce)
30import Data.Coerce (coerce)
32−newtype Handler dp trans m a = Handler (trans m a)
32+newtype Handler eff trans m a = Handler (trans m a)
35 , Functor, Applicative, Alternative, Monad, MonadPlus
35 , Functor, Applicative, Alternative, Monad, MonadPlus
36 , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad
36 , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad
37 , MonadThrow, MonadCatch, MonadMask )
37 , MonadThrow, MonadCatch, MonadMask )
39−type Pack dp trans m a = trans m a -> Handler dp trans m a
39+type Pack eff trans m a = trans m a -> Handler eff trans m a
41−type Unpack dp trans m a = Handler dp trans m a -> trans m a
41+type Unpack eff trans m a = Handler eff trans m a -> trans m a
44 ( MB.MonadBase b (trans m)
44 ( MB.MonadBase b (trans m)
45− ) => MB.MonadBase b (Handler dp trans m)
45+ ) => MB.MonadBase b (Handler eff trans m)
47 liftBase =
47 liftBase =
48 (coerce :: forall a .
48 (coerce :: forall a .
49 (b a -> trans m a) ->
49 (b a -> trans m a) ->
50− (b a -> Handler dp trans m a))
50+ (b a -> Handler eff trans m a))
51 MB.liftBase
51 MB.liftBase
54 ( MC.MonadTransControl trans
54 ( MC.MonadTransControl trans
55− ) => MC.MonadTransControl (Handler dp trans)
55+ ) => MC.MonadTransControl (Handler eff trans)
57− type StT (Handler dp trans) a = MC.StT trans a
57+ type StT (Handler eff trans) a = MC.StT trans a
58 liftWith = MC.defaultLiftWith
58 liftWith = MC.defaultLiftWith
59− (coerce :: Pack dp trans m a)
59+ (coerce :: Pack eff trans m a)
60− (coerce :: Unpack dp trans m a)
60+ (coerce :: Unpack eff trans m a)
61 restoreT = MC.defaultRestoreT
61 restoreT = MC.defaultRestoreT
62− (coerce :: Pack dp trans m a)
62+ (coerce :: Pack eff trans m a)
64type LiftBaseWith b m a = (MC.RunInBase m b -> b a) -> m a
64type LiftBaseWith b m a = (MC.RunInBase m b -> b a) -> m a
@@ -67,16 +67,16 @@ newtype LiftBaseWith' b m a = LBW { unLBW :: LiftBaseWith b m a }
68coerceLiftBaseWith ::
68coerceLiftBaseWith ::
69 LiftBaseWith b (trans m) a ->
69 LiftBaseWith b (trans m) a ->
70− LiftBaseWith b (Handler dp trans m) a
70+ LiftBaseWith b (Handler eff trans m) a
71coerceLiftBaseWith lbw =
71coerceLiftBaseWith lbw =
72 unLBW (coerce (LBW lbw))
72 unLBW (coerce (LBW lbw))
73{-# INLINE coerceLiftBaseWith #-}
73{-# INLINE coerceLiftBaseWith #-}
76 ( MC.MonadBaseControl b (trans m)
76 ( MC.MonadBaseControl b (trans m)
77− ) => MC.MonadBaseControl b (Handler dp trans m)
77+ ) => MC.MonadBaseControl b (Handler eff trans m)
79− type StM (Handler dp trans m) a = MC.StM (trans m) a
79+ type StM (Handler eff trans m) a = MC.StM (trans m) a
81 liftBaseWith = coerceLiftBaseWith MC.liftBaseWith
81 liftBaseWith = coerceLiftBaseWith MC.liftBaseWith
82 {-# INLINE liftBaseWith #-}
82 {-# INLINE liftBaseWith #-}
@@ -84,45 +84,45 @@ instance
84 restoreM =
84 restoreM =
85 (coerce :: forall a .
85 (coerce :: forall a .
86 (MC.StM (trans m) a -> trans m a) ->
86 (MC.StM (trans m) a -> trans m a) ->
87− (MC.StM (trans m) a -> Handler dp trans m a))
87+ (MC.StM (trans m) a -> Handler eff trans m a))
88 MC.restoreM
88 MC.restoreM
89 {-# INLINE restoreM #-}
89 {-# INLINE restoreM #-}
91−type instance Lift.StT (Handler dp trans) a = Lift.StT trans a
91+type instance Lift.StT (Handler eff trans) a = Lift.StT trans a
93−instance Lift.LiftLocal trans => Lift.LiftLocal (Handler dp trans) where
93+instance Lift.LiftLocal trans => Lift.LiftLocal (Handler eff trans) where
94 liftLocal =
94 liftLocal =
95 Lift.defaultLiftLocal
95 Lift.defaultLiftLocal
96− (coerce :: Pack dp trans m a)
96+ (coerce :: Pack eff trans m a)
97− (coerce :: Unpack dp trans m a)
97+ (coerce :: Unpack eff trans m a)
99−instance Lift.LiftCatch trans => Lift.LiftCatch (Handler dp trans) where
99+instance Lift.LiftCatch trans => Lift.LiftCatch (Handler eff trans) where
100 liftCatch =
100 liftCatch =
101 Lift.defaultLiftCatch
101 Lift.defaultLiftCatch
102− (coerce :: Pack dp trans m a)
102+ (coerce :: Pack eff trans m a)
103− (coerce :: Unpack dp trans m a)
103+ (coerce :: Unpack eff trans m a)
105−instance Lift.LiftListen trans => Lift.LiftListen (Handler dp trans) where
105+instance Lift.LiftListen trans => Lift.LiftListen (Handler eff trans) where
106 liftListen =
106 liftListen =
107 Lift.defaultLiftListen
107 Lift.defaultLiftListen
108− (coerce :: Pack dp trans m a)
108+ (coerce :: Pack eff trans m a)
109− (coerce :: Unpack dp trans m a)
109+ (coerce :: Unpack eff trans m a)
111−instance Lift.LiftPass trans => Lift.LiftPass (Handler dp trans) where
111+instance Lift.LiftPass trans => Lift.LiftPass (Handler eff trans) where
112 liftPass =
112 liftPass =
113 Lift.defaultLiftPass
113 Lift.defaultLiftPass
114− (coerce :: Pack dp trans m a)
114+ (coerce :: Pack eff trans m a)
115− (coerce :: Unpack dp trans m a)
115+ (coerce :: Unpack eff trans m a)
117−instance Lift.LiftCallCC trans => Lift.LiftCallCC (Handler dp trans) where
117+instance Lift.LiftCallCC trans => Lift.LiftCallCC (Handler eff trans) where
118 liftCallCC =
118 liftCallCC =
119 Lift.defaultLiftCallCC
119 Lift.defaultLiftCallCC
120− (coerce :: Pack dp trans m a)
120+ (coerce :: Pack eff trans m a)
121− (coerce :: Unpack dp trans m a)
121+ (coerce :: Unpack eff trans m a)
122 liftCallCC' =
122 liftCallCC' =
123 Lift.defaultLiftCallCC'
123 Lift.defaultLiftCallCC'
124− (coerce :: Pack dp trans m a)
124+ (coerce :: Pack eff trans m a)
125− (coerce :: Unpack dp trans m a)
125+ (coerce :: Unpack eff trans m a)
128-- Instances for mtl classes
128-- Instances for mtl classes
@@ -131,7 +131,7 @@ instance {-# OVERLAPPABLE #-}
131 ( Class.MonadCont m
131 ( Class.MonadCont m
132 , Lift.LiftCallCC trans
132 , Lift.LiftCallCC trans
133 , Monad (trans m)
133 , Monad (trans m)
134− ) => Class.MonadCont (Handler dp trans m)
134+ ) => Class.MonadCont (Handler eff trans m)
136 callCC = Lift.liftCallCC' Class.callCC
136 callCC = Lift.liftCallCC' Class.callCC
@@ -139,7 +139,7 @@ instance {-# OVERLAPPABLE #-}
139 ( Class.MonadReader r m
139 ( Class.MonadReader r m
140 , Lift.LiftLocal trans
140 , Lift.LiftLocal trans
141 , Monad (trans m)
141 , Monad (trans m)
142− ) => Class.MonadReader r (Handler dp trans m)
142+ ) => Class.MonadReader r (Handler eff trans m)
144 ask = lift Class.ask
144 ask = lift Class.ask
145 local = Lift.liftLocal Class.ask Class.local
145 local = Lift.liftLocal Class.ask Class.local
@@ -149,7 +149,7 @@ instance {-# OVERLAPPABLE #-}
149 ( Class.MonadState s m
149 ( Class.MonadState s m
150 , MonadTrans trans
150 , MonadTrans trans
151 , Monad (trans m)
151 , Monad (trans m)
152− ) => Class.MonadState s (Handler dp trans m)
152+ ) => Class.MonadState s (Handler eff trans m)
154 get = lift Class.get
154 get = lift Class.get
155 put = lift . Class.put
155 put = lift . Class.put
@@ -160,7 +160,7 @@ instance {-# OVERLAPPABLE #-}
160 , Lift.LiftListen trans
160 , Lift.LiftListen trans
161 , Lift.LiftPass trans
161 , Lift.LiftPass trans
162 , Monad (trans m)
162 , Monad (trans m)
163− ) => Class.MonadWriter w (Handler dp trans m)
163+ ) => Class.MonadWriter w (Handler eff trans m)
165 writer = lift . Class.writer
165 writer = lift . Class.writer
166 tell = lift . Class.tell
166 tell = lift . Class.tell
@@ -171,7 +171,7 @@ instance {-# OVERLAPPABLE #-}
171 ( Class.MonadError e m
171 ( Class.MonadError e m
172 , Lift.LiftCatch trans
172 , Lift.LiftCatch trans
173 , Monad (trans m)
173 , Monad (trans m)
174− ) => Class.MonadError e (Handler dp trans m)
174+ ) => Class.MonadError e (Handler eff trans m)
176 throwError = lift . Class.throwError
176 throwError = lift . Class.throwError
177 catchError = Lift.liftCatch Class.catchError
177 catchError = Lift.liftCatch Class.catchError