Skip to content

Commit 290829d

Browse files
committed
Simplify Coercions
1 parent 2d2c32f commit 290829d

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/Data/Patch/MapWithMove.hs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ instance TraversableWithIndex k (PatchMapWithMove k) where
137137

138138
-- | Create a 'PatchMapWithMove', validating it
139139
patchMapWithMove :: Ord k => Map k (NodeInfo k v) -> Maybe (PatchMapWithMove k v)
140-
patchMapWithMove = fmap coerce . PM.patchMapWithPatchingMove . coerce
140+
patchMapWithMove = fmap PatchMapWithMove' . PM.patchMapWithPatchingMove . coerce
141141

142142
-- | Create a 'PatchMapWithMove' that inserts everything in the given 'Map'
143143
patchMapWithMoveInsertAll :: Map k v -> PatchMapWithMove k v
@@ -175,7 +175,7 @@ deleteMapKey = PatchMapWithMove' . PM.deleteMapKey
175175
--
176176
-- __Warning:__ when using this function, you must ensure that the invariants of 'PatchMapWithMove' are preserved; they will not be checked.
177177
unsafePatchMapWithMove :: Map k (NodeInfo k v) -> PatchMapWithMove k v
178-
unsafePatchMapWithMove = PatchMapWithMove' . PM.unsafePatchMapWithPatchingMove . coerce
178+
unsafePatchMapWithMove = coerce PM.unsafePatchMapWithPatchingMove
179179

180180
-- | Apply the insertions, deletions, and moves to a given 'Map'
181181
instance Ord k => Patch (PatchMapWithMove k v) where
@@ -199,7 +199,7 @@ patchThatSortsMapWith cmp = PatchMapWithMove' . PM.patchThatSortsMapWith cmp
199199
-- | Create a 'PatchMapWithMove' that, if applied to the first 'Map' provided,
200200
-- will produce a 'Map' with the same values as the second 'Map' but with the
201201
-- values sorted with the given ordering function.
202-
patchThatChangesAndSortsMapWith :: forall k v. (Ord k, Ord v) => (v -> v -> Ordering) -> Map k v -> Map k v -> PatchMapWithMove k v
202+
patchThatChangesAndSortsMapWith :: (Ord k, Ord v) => (v -> v -> Ordering) -> Map k v -> Map k v -> PatchMapWithMove k v
203203
patchThatChangesAndSortsMapWith cmp oldByIndex newByIndexUnsorted = patchThatChangesMap oldByIndex newByIndex
204204
where newList = Map.toList newByIndexUnsorted
205205
newByIndex = Map.fromList $ zip (fst <$> newList) $ sortBy cmp $ snd <$> newList
@@ -255,21 +255,21 @@ bitraverseNodeInfo
255255
=> (k0 -> f k1)
256256
-> (v0 -> f v1)
257257
-> NodeInfo k0 v0 -> f (NodeInfo k1 v1)
258-
bitraverseNodeInfo fk fv = fmap coerce
258+
bitraverseNodeInfo fk fv = fmap NodeInfo'
259259
. PM.bitraverseNodeInfo fk (\ ~Proxy -> pure Proxy) fv
260260
. coerce
261261

262262
-- | Change the 'From' value of a 'NodeInfo'
263263
nodeInfoMapFrom :: (From k v -> From k v) -> NodeInfo k v -> NodeInfo k v
264-
nodeInfoMapFrom f = coerce . PM.nodeInfoMapFrom (unFrom' . f . From') . coerce
264+
nodeInfoMapFrom f = coerce $ PM.nodeInfoMapFrom (unFrom' . f . From')
265265

266266
-- | Change the 'From' value of a 'NodeInfo', using a 'Functor' (or
267267
-- 'Applicative', 'Monad', etc.) action to get the new value
268268
nodeInfoMapMFrom
269269
:: Functor f
270270
=> (From k v -> f (From k v))
271271
-> NodeInfo k v -> f (NodeInfo k v)
272-
nodeInfoMapMFrom f = fmap coerce
272+
nodeInfoMapMFrom f = fmap NodeInfo'
273273
. PM.nodeInfoMapMFrom (fmap unFrom' . f . From')
274274
. coerce
275275

@@ -303,7 +303,7 @@ bitraverseFrom
303303
=> (k0 -> f k1)
304304
-> (v0 -> f v1)
305305
-> From k0 v0 -> f (From k1 v1)
306-
bitraverseFrom fk fv = fmap coerce
306+
bitraverseFrom fk fv = fmap From'
307307
. PM.bitraverseFrom fk (\ ~Proxy -> pure Proxy) fv
308308
. coerce
309309

0 commit comments

Comments
 (0)