@@ -33,7 +33,11 @@ runLocalWriter = reinterpret L.runWriter localWriter
33execLocalWriter :: Monoid w => Eff (Writer w : es) a -> Eff es w
33execLocalWriter :: Monoid w => Eff (Writer w : es) a -> Eff es w
34execLocalWriter = reinterpret L.execWriter localWriter
34execLocalWriter = reinterpret L.execWriter localWriter
36−localWriter :: (L.Writer w :> es, Monoid w) => EffectHandler (Writer w) es
37+ :: (L.Writer w :> es, Monoid w)
39+ -> Writer w (Eff localEs) a
37localWriter env = \case
41localWriter env = \case
38 Tell w -> L.tell w
42 Tell w -> L.tell w
39 Listen m -> localSeqUnlift env $ \unlift -> L.listen (unlift m)
43 Listen m -> localSeqUnlift env $ \unlift -> L.listen (unlift m)
@@ -47,7 +51,11 @@ runSharedWriter = reinterpret S.runWriter sharedWriter
47execSharedWriter :: Monoid w => Eff (Writer w : es) a -> Eff es w
51execSharedWriter :: Monoid w => Eff (Writer w : es) a -> Eff es w
48execSharedWriter = reinterpret S.execWriter sharedWriter
52execSharedWriter = reinterpret S.execWriter sharedWriter
50−sharedWriter :: (S.Writer w :> es, Monoid w) => EffectHandler (Writer w) es
55+ :: (S.Writer w :> es, Monoid w)
57+ -> Writer w (Eff localEs) a
51sharedWriter env = \case
59sharedWriter env = \case
52 Tell w -> S.tell w
60 Tell w -> S.tell w
53 Listen m -> localSeqUnlift env $ \unlift -> S.listen (unlift m)
61 Listen m -> localSeqUnlift env $ \unlift -> S.listen (unlift m)