moffy-samples-events 0.2.2.3 → 0.2.2.4
raw patch · 2 files changed
+7/−4 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Control.Moffy.Samples.Run.TChan: maybeInsert :: Ord k => k -> Maybe a -> Map k a -> Map k a
- Control.Moffy.Samples.Run.TChan: interpretSt' :: (MonadIO m, Adjustable es es', Ord k) => HandleSt st m es' -> TVar (Map k v) -> TChan a -> Sig s es ([(k, v)], a) r -> St st m r
+ Control.Moffy.Samples.Run.TChan: interpretSt' :: (MonadIO m, Adjustable es es', Ord k) => HandleSt st m es' -> TVar (Map k v) -> TChan a -> Sig s es ([(k, Maybe v)], a) r -> St st m r
Files
moffy-samples-events.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: moffy-samples-events-version: 0.2.2.3+version: 0.2.2.4 synopsis: Events for sample codes of moffy description: Please see the README on GitHub at <https://github.com/YoshikuniJujo/moffy-samples-events#readme> category: Control
src/Control/Moffy/Samples/Run/TChan.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE BlockArguments #-}+{-# LANGUAGE BlockArguments, LambdaCase #-} {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} module Control.Moffy.Samples.Run.TChan where@@ -21,7 +21,10 @@ interpretSt h c = M.interpretSt h (liftIO . atomically . writeTChan c) interpretSt' :: (MonadIO m, Adjustable es es', Ord k) =>- HandleSt st m es' -> TVar (Map k v) -> TChan a -> Sig s es ([(k, v)], a) r -> St st m r+ HandleSt st m es' -> TVar (Map k v) -> TChan a -> Sig s es ([(k, Maybe v)], a) r -> St st m r interpretSt' h vm c = M.interpretSt h \(kvs, x) -> liftIO $ atomically do- modifyTVar vm $ flip (Prelude.foldr (uncurry insert)) kvs+ modifyTVar vm $ flip (Prelude.foldr (uncurry maybeInsert)) kvs writeTChan c x++maybeInsert :: Ord k => k -> Maybe a -> Map k a -> Map k a+maybeInsert k = \case Nothing -> delete k; Just v -> insert k v