on develop help sign in
Merge pull request #436 from maralorn/fix-dependent-map
38468bcElliot Cameron
reflex.cabal+1−1
@@ -77,7 +77,7 @@ library
77 constraints-extras >= 0.3 && < 0.4,
77 constraints-extras >= 0.3 && < 0.4,
78 containers >= 0.6 && < 0.7,
78 containers >= 0.6 && < 0.7,
79 data-default >= 0.5 && < 0.8,
79 data-default >= 0.5 && < 0.8,
80− dependent-map >= 0.3 && < 0.4,
80+ dependent-map >= 0.3 && < 0.5,
81 exception-transformers == 0.4.*,
81 exception-transformers == 0.4.*,
82 lens >= 4.7 && < 5,
82 lens >= 4.7 && < 5,
83 monad-control >= 1.0.1 && < 1.1,
83 monad-control >= 1.0.1 && < 1.1,
src/Reflex/Adjustable/Class.hs+2−1
@@ -30,7 +30,8 @@ module Reflex.Adjustable.Class
30
30
31import Control.Monad.Identity
31import Control.Monad.Identity
32import Control.Monad.Reader
32import Control.Monad.Reader
33−import Data.Dependent.Map (DMap, GCompare (..))
33+import Data.Dependent.Map (DMap)
34+import Data.GADT.Compare (GCompare(..))
34import qualified Data.Dependent.Map as DMap
35import qualified Data.Dependent.Map as DMap
35import Data.Functor.Constant
36import Data.Functor.Constant
36import Data.Functor.Misc
37import Data.Functor.Misc
src/Reflex/Class.hs+2−1
@@ -196,7 +196,8 @@ import Data.Align
196import Data.Bifunctor
196import Data.Bifunctor
197import Data.Coerce
197import Data.Coerce
198import Data.Default
198import Data.Default
199−import Data.Dependent.Map (DMap, DSum (..))
199+import Data.Dependent.Map (DMap)
200+import Data.Dependent.Sum (DSum (..))
200import qualified Data.Dependent.Map as DMap
201import qualified Data.Dependent.Map as DMap
201import Data.Functor.Compose
202import Data.Functor.Compose
202import Data.Functor.Product
203import Data.Functor.Product
src/Reflex/EventWriter/Base.hs+2−1
@@ -39,8 +39,9 @@ import Control.Monad.Primitive
39import Control.Monad.Reader
39import Control.Monad.Reader
40import Control.Monad.Ref
40import Control.Monad.Ref
41import Control.Monad.State.Strict
41import Control.Monad.State.Strict
42−import Data.Dependent.Map (DMap, DSum (..))
42+import Data.Dependent.Map (DMap)
43import qualified Data.Dependent.Map as DMap
43import qualified Data.Dependent.Map as DMap
44+import Data.Dependent.Sum (DSum (..))
44import Data.Functor.Compose
45import Data.Functor.Compose
45import Data.Functor.Misc
46import Data.Functor.Misc
46import Data.GADT.Compare (GCompare (..), GEq (..), GOrdering (..))
47import Data.GADT.Compare (GCompare (..), GEq (..), GOrdering (..))
src/Reflex/Profiled.hs+2−1
@@ -28,7 +28,8 @@ import Control.Monad.Ref
28import Control.Monad.State.Strict (StateT, execStateT, modify)
28import Control.Monad.State.Strict (StateT, execStateT, modify)
29import Data.Bifunctor
29import Data.Bifunctor
30import Data.Coerce
30import Data.Coerce
31−import Data.Dependent.Map (DMap, GCompare)
31+import Data.Dependent.Map (DMap)
32+import Data.GADT.Compare (GCompare)
32import Data.FastMutableIntMap
33import Data.FastMutableIntMap
33import Data.IORef
34import Data.IORef
34import Data.List
35import Data.List
src/Reflex/Pure.hs+2−1
@@ -32,7 +32,8 @@ module Reflex.Pure
32 ) where
32 ) where
33
33
34import Control.Monad
34import Control.Monad
35−import Data.Dependent.Map (DMap, GCompare)
35+import Data.Dependent.Map (DMap)
36+import Data.GADT.Compare (GCompare)
36import qualified Data.Dependent.Map as DMap
37import qualified Data.Dependent.Map as DMap
37import Data.IntMap (IntMap)
38import Data.IntMap (IntMap)
38import qualified Data.IntMap as IntMap
39import qualified Data.IntMap as IntMap
src/Reflex/Query/Base.hs+5−3
@@ -27,11 +27,13 @@ import Control.Monad.Reader
27import Control.Monad.Ref
27import Control.Monad.Ref
28import Control.Monad.State.Strict
28import Control.Monad.State.Strict
29import Data.Align
29import Data.Align
30−import Data.Dependent.Map (DMap, DSum (..))
30+import Data.Dependent.Map (DMap)
31import qualified Data.Dependent.Map as DMap
31import qualified Data.Dependent.Map as DMap
32+import Data.Dependent.Sum (DSum(..))
32import Data.Foldable
33import Data.Foldable
33import Data.Functor.Compose
34import Data.Functor.Compose
34import Data.Functor.Misc
35import Data.Functor.Misc
36+import Data.GADT.Compare (GCompare)
35import Data.IntMap (IntMap)
37import Data.IntMap (IntMap)
36import qualified Data.IntMap as IntMap
38import qualified Data.IntMap as IntMap
37import Data.Map (Map)
39import Data.Map (Map)
@@ -135,7 +137,7 @@ instance (Reflex t, MonadFix m, Group q, Additive q, Query q, Eq q, MonadHold t
135 tellQueryIncremental $ unsafeBuildIncremental (fold <$> mapM sampleBs liftedBs0) qpatch
137 tellQueryIncremental $ unsafeBuildIncremental (fold <$> mapM sampleBs liftedBs0) qpatch
136 return (liftedResult0, liftedResult')
138 return (liftedResult0, liftedResult')
137
139
138− traverseDMapWithKeyWithAdjust :: forall (k :: * -> *) v v'. (DMap.GCompare k) => (forall a. k a -> v a -> QueryT t q m (v' a)) -> DMap k v -> Event t (PatchDMap k v) -> QueryT t q m (DMap k v', Event t (PatchDMap k v'))
140+ traverseDMapWithKeyWithAdjust :: forall (k :: * -> *) v v'. (GCompare k) => (forall a. k a -> v a -> QueryT t q m (v' a)) -> DMap k v -> Event t (PatchDMap k v) -> QueryT t q m (DMap k v', Event t (PatchDMap k v'))
139 traverseDMapWithKeyWithAdjust f dm0 dm' = do
141 traverseDMapWithKeyWithAdjust f dm0 dm' = do
140 let f' :: forall a. k a -> v a -> EventWriterT t q (ReaderT (Dynamic t (QueryResult q)) m) (Compose (QueryTLoweredResult t q) v' a)
142 let f' :: forall a. k a -> v a -> EventWriterT t q (ReaderT (Dynamic t (QueryResult q)) m) (Compose (QueryTLoweredResult t q) v' a)
141 f' k v = fmap (Compose . QueryTLoweredResult) $ flip runStateT [] $ unQueryT $ f k v
143 f' k v = fmap (Compose . QueryTLoweredResult) $ flip runStateT [] $ unQueryT $ f k v
@@ -180,7 +182,7 @@ instance (Reflex t, MonadFix m, Group q, Additive q, Query q, Eq q, MonadHold t
180 tellQueryIncremental $ unsafeBuildIncremental (fold <$> mapM sampleBs liftedBs0) qpatch
182 tellQueryIncremental $ unsafeBuildIncremental (fold <$> mapM sampleBs liftedBs0) qpatch
181 return (liftedResult0, liftedResult')
183 return (liftedResult0, liftedResult')
182
184
183− traverseDMapWithKeyWithAdjustWithMove :: forall (k :: * -> *) v v'. (DMap.GCompare k) => (forall a. k a -> v a -> QueryT t q m (v' a)) -> DMap k v -> Event t (PatchDMapWithMove k v) -> QueryT t q m (DMap k v', Event t (PatchDMapWithMove k v'))
185+ traverseDMapWithKeyWithAdjustWithMove :: forall (k :: * -> *) v v'. (GCompare k) => (forall a. k a -> v a -> QueryT t q m (v' a)) -> DMap k v -> Event t (PatchDMapWithMove k v) -> QueryT t q m (DMap k v', Event t (PatchDMapWithMove k v'))
184 traverseDMapWithKeyWithAdjustWithMove f dm0 dm' = do
186 traverseDMapWithKeyWithAdjustWithMove f dm0 dm' = do
185 let f' :: forall a. k a -> v a -> EventWriterT t q (ReaderT (Dynamic t (QueryResult q)) m) (Compose (QueryTLoweredResult t q) v' a)
187 let f' :: forall a. k a -> v a -> EventWriterT t q (ReaderT (Dynamic t (QueryResult q)) m) (Compose (QueryTLoweredResult t q) v' a)
186 f' k v = fmap (Compose . QueryTLoweredResult) $ flip runStateT [] $ unQueryT $ f k v
188 f' k v = fmap (Compose . QueryTLoweredResult) $ flip runStateT [] $ unQueryT $ f k v
src/Reflex/Requester/Base.hs+2−1
@@ -55,8 +55,9 @@ import Control.Monad.Ref
55import Control.Monad.State.Strict
55import Control.Monad.State.Strict
56import Data.Bits
56import Data.Bits
57import Data.Coerce
57import Data.Coerce
58−import Data.Dependent.Map (DMap, DSum (..))
58+import Data.Dependent.Map (DMap)
59import qualified Data.Dependent.Map as DMap
59import qualified Data.Dependent.Map as DMap
60+import Data.Dependent.Sum (DSum (..))
60import Data.Functor.Compose
61import Data.Functor.Compose
61import Data.Functor.Misc
62import Data.Functor.Misc
62import Data.IntMap.Strict (IntMap)
63import Data.IntMap.Strict (IntMap)
src/Reflex/Spider/Internal.hs+2−1
@@ -46,8 +46,9 @@ import Control.Monad.Fail (MonadFail)
46import qualified Control.Monad.Fail as MonadFail
46import qualified Control.Monad.Fail as MonadFail
47import Data.Align
47import Data.Align
48import Data.Coerce
48import Data.Coerce
49−import Data.Dependent.Map (DMap, DSum (..))
49+import Data.Dependent.Map (DMap)
50import qualified Data.Dependent.Map as DMap
50import qualified Data.Dependent.Map as DMap
51+import Data.Dependent.Sum (DSum (..))
51import Data.FastMutableIntMap (FastMutableIntMap, PatchIntMap (..))
52import Data.FastMutableIntMap (FastMutableIntMap, PatchIntMap (..))
52import qualified Data.FastMutableIntMap as FastMutableIntMap
53import qualified Data.FastMutableIntMap as FastMutableIntMap
53import Data.Foldable hiding (concat, elem, sequence_)
54import Data.Foldable hiding (concat, elem, sequence_)
test/Reflex/Test/CrossImpl.hs+1−1
@@ -26,7 +26,7 @@ import qualified Reflex.Profiled as Prof
26import Control.Arrow (second, (&&&))
26import Control.Arrow (second, (&&&))
27import Control.Monad.Identity hiding (forM, forM_, mapM, mapM_, sequence, sequence_)
27import Control.Monad.Identity hiding (forM, forM_, mapM, mapM_, sequence, sequence_)
28import Control.Monad.State.Strict hiding (forM, forM_, mapM, mapM_, sequence, sequence_)
28import Control.Monad.State.Strict hiding (forM, forM_, mapM, mapM_, sequence, sequence_)
29−import Data.Dependent.Map (DSum (..))
29+import Data.Dependent.Sum (DSum (..))
30import Data.Foldable
30import Data.Foldable
31import Data.Map.Strict (Map)
31import Data.Map.Strict (Map)
32import qualified Data.Map.Strict as Map
32import qualified Data.Map.Strict as Map