on develop help sign in
Use slightly more efficient mconcat for DynamicWriterT
bd851a9Ryan Trinkle
src/Reflex/DynamicWriter.hs+1−2
@@ -18,7 +18,6 @@ import Control.Monad.Reader
18import Control.Monad.Ref
18import Control.Monad.Ref
19import Control.Monad.State.Strict
19import Control.Monad.State.Strict
20import Data.Dependent.Map (DMap, DSum (..))
20import Data.Dependent.Map (DMap, DSum (..))
21−import Data.Foldable
22import Data.Functor.Misc
21import Data.Functor.Misc
23import Data.Map (Map)
22import Data.Map (Map)
24import qualified Data.Map as Map
23import qualified Data.Map as Map
@@ -174,7 +173,7 @@ instance (MonadAdjust t m, MonadFix m, Monoid w, MonadHold t m, Reflex t) => Mon
174 -- 1. Incrementally merging the Dynamics
173 -- 1. Incrementally merging the Dynamics
175 -- 2. Incrementally updating the mconcat of the merged Dynamics
174 -- 2. Incrementally updating the mconcat of the merged Dynamics
176 i <- holdIncremental liftedWritten0 liftedWritten'
175 i <- holdIncremental liftedWritten0 liftedWritten'
177− tellDyn $ join $ fold . dmapToMap <$> incrementalToDynamic i
176+ tellDyn $ join $ mconcat . Map.elems . dmapToMap <$> incrementalToDynamic i
178 return (liftedResult0, liftedResult')
177 return (liftedResult0, liftedResult')
179
178
180withDynamicWriterT :: (Monoid w, Reflex t, MonadHold t m, MonadFix m)
179withDynamicWriterT :: (Monoid w, Reflex t, MonadHold t m, MonadFix m)