on master help sign in
Use <> instead of mappend as we're using new enough GHC
commitb37e40bbdfa7477de8557c573695d83dab3fd85d authorAndrzej Rybczak <andrzej@rybczak.net> dateSat 26 Jun 2021, 18:35 (5 years ago) parent70c4352
3 files changed+9−9
src/Effectful/Writer.hs+4−4 src/Effectful/Writer/Dynamic.hs+2−2 src/Effectful/Writer/MVar.hs+3−3
src/Effectful/Writer.hs+4−4
@@ -30,10 +30,10 @@ execWriter m = do
3030 pure w
3131
3232writer :: (Writer w :> es, Monoid w) => (a, w) -> Eff es a
33−writer (a, w) = stateEffect $ \(IdE (Writer w0)) -> (a, IdE (Writer (w0 `mappend` w)))
33+writer (a, w) = stateEffect $ \(IdE (Writer w0)) -> (a, IdE (Writer (w0 <> w)))
3434
3535tell :: (Writer w :> es, Monoid w) => w -> Eff es ()
36−tell w = stateEffect $ \(IdE (Writer w0)) -> ((), IdE (Writer (w0 `mappend` w)))
36+tell w = stateEffect $ \(IdE (Writer w0)) -> ((), IdE (Writer (w0 <> w)))
3737
3838listen
3939 :: forall w es a. (Writer w :> es, Monoid w)
@@ -43,8 +43,8 @@ listen (Eff m) = unsafeEff $ \es -> mask $ \restore -> do
4343 w0 <- unsafeStateEnv (\(IdE (Writer w)) -> (w, IdE (Writer mempty))) es
4444 -- If an exception is thrown, restore e0 and keep parts of e1.
4545 a <- restore (m es) `onException`
46− unsafeModifyEnv (\(IdE (Writer w)) -> IdE (Writer (w0 `mappend` w))) es
47− w1 <- unsafeStateEnv (\(IdE (Writer w)) -> (w, IdE (Writer (w0 `mappend` w)))) es
46+ unsafeModifyEnv (\(IdE (Writer w)) -> IdE (Writer (w0 <> w))) es
47+ w1 <- unsafeStateEnv (\(IdE (Writer w)) -> (w, IdE (Writer (w0 <> w)))) es
4848 pure (a, w1)
4949
5050listens
src/Effectful/Writer/Dynamic.hs+2−2
@@ -38,7 +38,7 @@ execWriter :: Monoid w => Eff (Writer w : es) a -> Eff es w
3838execWriter = reinterpretM WP.execWriter writerPure
3939
4040writerPure
41− :: (Monoid w, WP.Writer w :> localEs)
41+ :: (WP.Writer w :> localEs, Monoid w)
4242 => RunIn es (Eff localEs)
4343 -> Writer w (Eff es) a
4444 -> Eff localEs a
@@ -57,7 +57,7 @@ execWriterMVar :: Monoid w => Eff (Writer w : es) a -> Eff es w
5757execWriterMVar = reinterpretM WM.execWriter writerMVar
5858
5959writerMVar
60− :: (Monoid w, WM.Writer w :> localEs)
60+ :: (WM.Writer w :> localEs, Monoid w)
6161 => RunIn es (Eff localEs)
6262 -> Writer w (Eff es) a
6363 -> Eff localEs a
src/Effectful/Writer/MVar.hs+3−3
@@ -33,12 +33,12 @@ execWriter m = do
3333writer :: (Writer w :> es, Monoid w) => (a, w) -> Eff es a
3434writer (a, w1) = do
3535 IdE (Writer v) <- getEffect
36− unsafeEff_ . modifyMVar v $ \w0 -> let w = w0 `mappend` w1 in w `seq` pure (w, a)
36+ unsafeEff_ . modifyMVar v $ \w0 -> let w = w0 <> w1 in w `seq` pure (w, a)
3737
3838tell :: (Writer w :> es, Monoid w) => w -> Eff es ()
3939tell w1 = do
4040 IdE (Writer v) <- getEffect
41− unsafeEff_ . modifyMVar_ v $ \w0 -> let w = w0 `mappend` w1 in w `seq` pure w
41+ unsafeEff_ . modifyMVar_ v $ \w0 -> let w = w0 <> w1 in w `seq` pure w
4242
4343listen
4444 :: forall w es a. (Writer w :> es, Monoid w)
@@ -58,7 +58,7 @@ listen (Eff m) = unsafeEff $ \es -> uninterruptibleMask $ \restore -> do
5858 w1 <- readMVar v1
5959 -- The mask is uninterruptible because modifyMVar_ v0 might block and if
6060 -- we get an async exception while waiting, w1 will be lost.
61− modifyMVar_ v0 $ \w0 -> let w = w0 `mappend` w1 in w `seq` pure w
61+ modifyMVar_ v0 $ \w0 -> let w = w0 <> w1 in w `seq` pure w
6262 pure w1
6363
6464listens