on master help sign in
Rename 'dp' parameter to 'eff'
0218d60Vladislav Zavialov
src/Control/Monad/Ether/Except.hs+2−2
@@ -79,11 +79,11 @@ instance
79 throw =
79 throw =
80 handling @EXCEPT @e @trans @m $
80 handling @EXCEPT @e @trans @m $
81 coerce (T.throwError @e @(trans m) @a) ::
81 coerce (T.throwError @e @(trans m) @a) ::
82− forall dp a . e -> Handler dp trans m a
82+ forall eff a . e -> Handler eff trans m a
83 {-# INLINE throw #-}
83 {-# INLINE throw #-}
84
84
85 catch =
85 catch =
86 handling @EXCEPT @e @trans @m $
86 handling @EXCEPT @e @trans @m $
87 coerce (T.catchError @e @(trans m) @a) ::
87 coerce (T.catchError @e @(trans m) @a) ::
88− forall dp a . Catch e (Handler dp trans m) a
88+ forall eff a . Catch e (Handler eff trans m) a
89 {-# INLINE catch #-}
89 {-# INLINE catch #-}
src/Control/Monad/Ether/Reader.hs+9−9
@@ -95,34 +95,34 @@ instance
95 local =
95 local =
96 handling @READER @r @trans @m $
96 handling @READER @r @trans @m $
97 coerce (T.local @r @(trans m) @a) ::
97 coerce (T.local @r @(trans m) @a) ::
98− forall dp a . Local r (Handler dp trans m) a
98+ forall eff a . Local r (Handler eff trans m) a
99 {-# INLINE local #-}
99 {-# INLINE local #-}
100
100
101 reader =
101 reader =
102 handling @READER @r @trans @m $
102 handling @READER @r @trans @m $
103 coerce (T.reader @r @(trans m) @a) ::
103 coerce (T.reader @r @(trans m) @a) ::
104− forall dp a . (r -> a) -> Handler dp trans m a
104+ forall eff a . (r -> a) -> Handler eff trans m a
105 {-# INLINE reader #-}
105 {-# INLINE reader #-}
106
106
107instance
107instance
108 ( HasLens tag payload r
108 ( HasLens tag payload r
109 , Handle READER payload trans
109 , Handle READER payload trans
110 , Monad m, Monad (trans m)
110 , Monad m, Monad (trans m)
111− ) => MonadReader tag r (Handler (TAGGED READER tag ': dps) trans m)
111+ ) => MonadReader tag r (Handler (TAGGED READER tag ': effs) trans m)
112 where
112 where
113
113
114 ask =
114 ask =
115 handling @READER @payload @trans @m $
115 handling @READER @payload @trans @m $
116− (coerce :: forall dp a .
116+ (coerce :: forall eff a .
117− trans m a ->
117+ trans m a ->
118− Handler dp trans m a)
118+ Handler eff trans m a)
119 (T.asks (view (lensOf @tag @payload @r)))
119 (T.asks (view (lensOf @tag @payload @r)))
120 {-# INLINE ask #-}
120 {-# INLINE ask #-}
121
121
122 local f =
122 local f =
123 handling @READER @payload @trans @m $
123 handling @READER @payload @trans @m $
124− (coerce :: forall dp a .
124+ (coerce :: forall eff a .
125− (trans m a -> trans m a) ->
125+ (trans m a -> trans m a) ->
126− (Handler dp trans m a -> Handler dp trans m a))
126+ (Handler eff trans m a -> Handler eff trans m a))
127 (T.local (over (lensOf @tag @payload @r) f))
127 (T.local (over (lensOf @tag @payload @r) f))
128 {-# INLINE local #-}
128 {-# INLINE local #-}
src/Control/Monad/Ether/Reader/Class.hs+8−8
@@ -51,27 +51,27 @@ instance {-# OVERLAPPABLE #-}
51
51
52instance {-# OVERLAPPABLE #-}
52instance {-# OVERLAPPABLE #-}
53 ( Monad (trans m)
53 ( Monad (trans m)
54− , MonadReader tag r (Handler dps trans m)
54+ , MonadReader tag r (Handler effs trans m)
55− ) => MonadReader tag r (Handler (dp ': dps) trans (m :: K.Type -> K.Type))
55+ ) => MonadReader tag r (Handler (eff ': effs) trans (m :: K.Type -> K.Type))
56 where
56 where
57
57
58 ask =
58 ask =
59 (coerce ::
59 (coerce ::
60− Handler dps trans m r ->
60+ Handler effs trans m r ->
61− Handler (dp ': dps) trans m r)
61+ Handler (eff ': effs) trans m r)
62 (ask @tag)
62 (ask @tag)
63 {-# INLINE ask #-}
63 {-# INLINE ask #-}
64
64
65 local =
65 local =
66 (coerce :: forall a .
66 (coerce :: forall a .
67− Lift.Local r (Handler dps trans m) a ->
67+ Lift.Local r (Handler effs trans m) a ->
68− Lift.Local r (Handler (dp ': dps) trans m) a)
68+ Lift.Local r (Handler (eff ': effs) trans m) a)
69 (local @tag)
69 (local @tag)
70 {-# INLINE local #-}
70 {-# INLINE local #-}
71
71
72 reader =
72 reader =
73 (coerce :: forall a .
73 (coerce :: forall a .
74− ((r -> a) -> Handler dps trans m a) ->
74+ ((r -> a) -> Handler effs trans m a) ->
75− ((r -> a) -> Handler (dp ': dps) trans m a))
75+ ((r -> a) -> Handler (eff ': effs) trans m a))
76 (reader @tag)
76 (reader @tag)
77 {-# INLINE reader #-}
77 {-# INLINE reader #-}
src/Control/Monad/Ether/State/Class.hs+8−8
@@ -48,27 +48,27 @@ instance {-# OVERLAPPABLE #-}
48
48
49instance {-# OVERLAPPABLE #-}
49instance {-# OVERLAPPABLE #-}
50 ( Monad (trans m)
50 ( Monad (trans m)
51− , MonadState tag s (Handler dps trans m)
51+ , MonadState tag s (Handler effs trans m)
52− ) => MonadState tag s (Handler (dp ': dps) trans (m :: K.Type -> K.Type))
52+ ) => MonadState tag s (Handler (eff ': effs) trans (m :: K.Type -> K.Type))
53 where
53 where
54
54
55 get =
55 get =
56 (coerce ::
56 (coerce ::
57− Handler dps trans m s ->
57+ Handler effs trans m s ->
58− Handler (dp ': dps) trans m s)
58+ Handler (eff ': effs) trans m s)
59 (get @tag)
59 (get @tag)
60 {-# INLINE get #-}
60 {-# INLINE get #-}
61
61
62 put =
62 put =
63 (coerce ::
63 (coerce ::
64− (s -> Handler dps trans m ()) ->
64+ (s -> Handler effs trans m ()) ->
65− (s -> Handler (dp ': dps) trans m ()))
65+ (s -> Handler (eff ': effs) trans m ()))
66 (put @tag)
66 (put @tag)
67 {-# INLINE put #-}
67 {-# INLINE put #-}
68
68
69 state =
69 state =
70 (coerce :: forall a .
70 (coerce :: forall a .
71− ((s -> (a, s)) -> Handler dps trans m a) ->
71+ ((s -> (a, s)) -> Handler effs trans m a) ->
72− ((s -> (a, s)) -> Handler (dp ': dps) trans m a))
72+ ((s -> (a, s)) -> Handler (eff ': effs) trans m a))
73 (state @tag)
73 (state @tag)
74 {-# INLINE state #-}
74 {-# INLINE state #-}
src/Control/Monad/Ether/State/Common.hs+11−11
@@ -55,36 +55,36 @@ instance
55 state =
55 state =
56 handling @STATE @s @trans @m $
56 handling @STATE @s @trans @m $
57 coerce (T.state @s @(trans m) @a) ::
57 coerce (T.state @s @(trans m) @a) ::
58− forall dp a . (s -> (a, s)) -> Handler dp trans m a
58+ forall eff a . (s -> (a, s)) -> Handler eff trans m a
59 {-# INLINE state #-}
59 {-# INLINE state #-}
60
60
61instance
61instance
62 ( HasLens tag payload s
62 ( HasLens tag payload s
63 , Handle STATE payload trans
63 , Handle STATE payload trans
64 , Monad m, Monad (trans m)
64 , Monad m, Monad (trans m)
65− ) => MonadState tag s (Handler (TAGGED STATE tag ': dps) trans m)
65+ ) => MonadState tag s (Handler (TAGGED STATE tag ': effs) trans m)
66 where
66 where
67
67
68 get =
68 get =
69 handling @STATE @payload @trans @m $
69 handling @STATE @payload @trans @m $
70− (coerce :: forall dp a .
70+ (coerce :: forall eff a .
71− trans m a ->
71+ trans m a ->
72− Handler dp trans m a)
72+ Handler eff trans m a)
73 (T.gets (view (lensOf @tag @payload @s)))
73 (T.gets (view (lensOf @tag @payload @s)))
74 {-# INLINE get #-}
74 {-# INLINE get #-}
75
75
76 put s =
76 put s =
77 handling @STATE @payload @trans @m $
77 handling @STATE @payload @trans @m $
78− (coerce :: forall dp a .
78+ (coerce :: forall eff a .
79− trans m a ->
79+ trans m a ->
80− Handler dp trans m a)
80+ Handler eff trans m a)
81 (T.modify (over (lensOf @tag @payload @s) (const s)))
81 (T.modify (over (lensOf @tag @payload @s) (const s)))
82 {-# INLINE put #-}
82 {-# INLINE put #-}
83
83
84 state f =
84 state f =
85 handling @STATE @payload @trans @m $
85 handling @STATE @payload @trans @m $
86− (coerce :: forall dp a .
86+ (coerce :: forall eff a .
87− trans m a ->
87+ trans m a ->
88− Handler dp trans m a)
88+ Handler eff trans m a)
89 (T.state (lensOf @tag @payload @s f))
89 (T.state (lensOf @tag @payload @s f))
90 {-# INLINE state #-}
90 {-# INLINE state #-}
src/Control/Monad/Ether/State/Zoom.hs+3−3
@@ -39,9 +39,9 @@ instance
39 ) => MonadState tag sInner (Handler (TAG_ZOOM tag z) trans m)
39 ) => MonadState tag sInner (Handler (TAG_ZOOM tag z) trans m)
40 where
40 where
41 state =
41 state =
42− (coerce :: forall dp r a .
42+ (coerce :: forall eff r a .
43− (r -> m a) ->
43+ (r -> m a) ->
44− (r -> Handler dp trans m a))
44+ (r -> Handler eff trans m a))
45 (state @tag . l)
45 (state @tag . l)
46 where
46 where
47 Lens l = reflect (Proxy :: Proxy z)
47 Lens l = reflect (Proxy :: Proxy z)
src/Control/Monad/Ether/Writer.hs+3−3
@@ -100,7 +100,7 @@ instance
100 writer =
100 writer =
101 handling @WRITER @w @trans @m $
101 handling @WRITER @w @trans @m $
102 coerce (T.writer @w @(trans m) @a) ::
102 coerce (T.writer @w @(trans m) @a) ::
103− forall dp a . (a, w) -> Handler dp trans m a
103+ forall eff a . (a, w) -> Handler eff trans m a
104 {-# INLINE writer #-}
104 {-# INLINE writer #-}
105
105
106 tell =
106 tell =
@@ -111,11 +111,11 @@ instance
111 listen =
111 listen =
112 handling @WRITER @w @trans @m $
112 handling @WRITER @w @trans @m $
113 coerce (T.listen @w @(trans m) @a) ::
113 coerce (T.listen @w @(trans m) @a) ::
114− forall dp a . Listen w (Handler dp trans m) a
114+ forall eff a . Listen w (Handler eff trans m) a
115 {-# INLINE listen #-}
115 {-# INLINE listen #-}
116
116
117 pass =
117 pass =
118 handling @WRITER @w @trans @m $
118 handling @WRITER @w @trans @m $
119 coerce (T.pass @w @(trans m) @a) ::
119 coerce (T.pass @w @(trans m) @a) ::
120− forall dp a . Pass w (Handler dp trans m) a
120+ forall eff a . Pass w (Handler eff trans m) a
121 {-# INLINE pass #-}
121 {-# INLINE pass #-}
src/Control/Monad/Trans/Ether/Handler.hs+37−37
@@ -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)
31
31
32−newtype Handler dp trans m a = Handler (trans m a)
32+newtype Handler eff trans m a = Handler (trans m a)
33 deriving
33 deriving
34 ( Generic
34 ( Generic
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 )
38
38
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
40
40
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
42
42
43instance
43instance
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)
46 where
46 where
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
52
52
53instance
53instance
54 ( MC.MonadTransControl trans
54 ( MC.MonadTransControl trans
55− ) => MC.MonadTransControl (Handler dp trans)
55+ ) => MC.MonadTransControl (Handler eff trans)
56 where
56 where
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)
63
63
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
65
65
@@ -67,16 +67,16 @@ newtype LiftBaseWith' b m a = LBW { unLBW :: LiftBaseWith b m a }
67
67
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 #-}
74
74
75instance
75instance
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)
78 where
78 where
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
80
80
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 #-}
90
90
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
92
92
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)
98
98
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)
104
104
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)
110
110
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)
116
116
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)
126
126
127
127
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)
135 where
135 where
136 callCC = Lift.liftCallCC' Class.callCC
136 callCC = Lift.liftCallCC' Class.callCC
137
137
@@ -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)
143 where
143 where
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)
153 where
153 where
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)
164 where
164 where
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)
175 where
175 where
176 throwError = lift . Class.throwError
176 throwError = lift . Class.throwError
177 catchError = Lift.liftCatch Class.catchError
177 catchError = Lift.liftCatch Class.catchError