on develop help sign in
Merge pull request #13 from reflex-frp/add-WithIndex-instances
efc090fJohn Ericson
src/Data/Patch/IntMap.hs+2−1
@@ -45,7 +45,8 @@ instance Patch (PatchIntMap a) where
45instance FunctorWithIndex Int PatchIntMap
45instance FunctorWithIndex Int PatchIntMap
46instance FoldableWithIndex Int PatchIntMap
46instance FoldableWithIndex Int PatchIntMap
47instance TraversableWithIndex Int PatchIntMap where
47instance TraversableWithIndex Int PatchIntMap where
48+ itraverse = itraversed . Indexed
48− itraversed = _Wrapped . itraversed . traversed
49+ itraversed = _Wrapped .> itraversed <. traversed
49
50
50-- | Map a function @Int -> a -> b@ over all @a@s in the given @'PatchIntMap' a@
51-- | Map a function @Int -> a -> b@ over all @a@s in the given @'PatchIntMap' a@
51-- (that is, all inserts/updates), producing a @PatchIntMap b@.
52-- (that is, all inserts/updates), producing a @PatchIntMap b@.
src/Data/Patch/Map.hs+2−1
@@ -54,7 +54,8 @@ instance Ord k => Patch (PatchMap k v) where
54instance FunctorWithIndex k (PatchMap k)
54instance FunctorWithIndex k (PatchMap k)
55instance FoldableWithIndex k (PatchMap k)
55instance FoldableWithIndex k (PatchMap k)
56instance TraversableWithIndex k (PatchMap k) where
56instance TraversableWithIndex k (PatchMap k) where
57− itraverse f (PatchMap x) = PatchMap <$> itraverse (traverse . f) x
57+ itraverse = itraversed . Indexed
58+ itraversed = _Wrapped .> itraversed <. traversed
58
59
59-- | The empty 'PatchMap' contains no insertions or deletions
60-- | The empty 'PatchMap' contains no insertions or deletions
60instance Ord k => Monoid (PatchMap k v) where
61instance Ord k => Monoid (PatchMap k v) where
src/Data/Patch/MapWithMove.hs+2−1
@@ -68,7 +68,8 @@ makeWrapped ''PatchMapWithMove
68instance FunctorWithIndex k (PatchMapWithMove k)
68instance FunctorWithIndex k (PatchMapWithMove k)
69instance FoldableWithIndex k (PatchMapWithMove k)
69instance FoldableWithIndex k (PatchMapWithMove k)
70instance TraversableWithIndex k (PatchMapWithMove k) where
70instance TraversableWithIndex k (PatchMapWithMove k) where
71− itraverse f (PatchMapWithMove x) = PatchMapWithMove <$> itraverse (traverse . f) x
71+ itraverse = itraversed . Indexed
72+ itraversed = _Wrapped .> itraversed <. traversed
72
73
73-- | Create a 'PatchMapWithMove', validating it
74-- | Create a 'PatchMapWithMove', validating it
74patchMapWithMove :: Ord k => Map k (NodeInfo k v) -> Maybe (PatchMapWithMove k v)
75patchMapWithMove :: Ord k => Map k (NodeInfo k v) -> Maybe (PatchMapWithMove k v)