on master help sign in
Write signatures down without the HasCallStack constraint
commitdcba309d0fa8bf0e5ad11857766335af6b9f8b06 authorAndrzej Rybczak <andrzej@rybczak.net> dateWed 28 Jul 2021, 21:05 (5 years ago) parenta0f47ae
2 files changed+20−4
effectful-core/src/Effectful/State/Dynamic.hs+10−2 effectful-core/src/Effectful/Writer/Dynamic.hs+10−2
effectful-core/src/Effectful/State/Dynamic.hs+10−2
@@ -57,7 +57,11 @@ evalLocalState s0 = reinterpret (L.evalState s0) localState
5757execLocalState :: s -> Eff (State s : es) a -> Eff es s
5858execLocalState s0 = reinterpret (L.execState s0) localState
5959
60−localState :: L.State s :> es => EffectHandler (State s) es
60+localState
61+ :: L.State s :> es
62+ => LocalEnv localEs
63+ -> State s (Eff localEs) a
64+ -> Eff es a
6165localState env = \case
6266 Get -> L.get
6367 Put s -> L.put s
@@ -76,7 +80,11 @@ evalSharedState s0 = reinterpret (S.evalState s0) sharedState
7680execSharedState :: s -> Eff (State s : es) a -> Eff es s
7781execSharedState s0 = reinterpret (S.execState s0) sharedState
7882
79−sharedState :: S.State s :> es => EffectHandler (State s) es
83+sharedState
84+ :: S.State s :> es
85+ => LocalEnv localEs
86+ -> State s (Eff localEs) a
87+ -> Eff es a
8088sharedState env = \case
8189 Get -> S.get
8290 Put s -> S.put s
effectful-core/src/Effectful/Writer/Dynamic.hs+10−2
@@ -33,7 +33,11 @@ runLocalWriter = reinterpret L.runWriter localWriter
3333execLocalWriter :: Monoid w => Eff (Writer w : es) a -> Eff es w
3434execLocalWriter = reinterpret L.execWriter localWriter
3535
36−localWriter :: (L.Writer w :> es, Monoid w) => EffectHandler (Writer w) es
36+localWriter
37+ :: (L.Writer w :> es, Monoid w)
38+ => LocalEnv localEs
39+ -> Writer w (Eff localEs) a
40+ -> Eff es a
3741localWriter env = \case
3842 Tell w -> L.tell w
3943 Listen m -> localSeqUnlift env $ \unlift -> L.listen (unlift m)
@@ -47,7 +51,11 @@ runSharedWriter = reinterpret S.runWriter sharedWriter
4751execSharedWriter :: Monoid w => Eff (Writer w : es) a -> Eff es w
4852execSharedWriter = reinterpret S.execWriter sharedWriter
4953
50−sharedWriter :: (S.Writer w :> es, Monoid w) => EffectHandler (Writer w) es
54+sharedWriter
55+ :: (S.Writer w :> es, Monoid w)
56+ => LocalEnv localEs
57+ -> Writer w (Eff localEs) a
58+ -> Eff es a
5159sharedWriter env = \case
5260 Tell w -> S.tell w
5361 Listen m -> localSeqUnlift env $ \unlift -> S.listen (unlift m)