on develop help sign in
Put back Cat.DecidablyEmpty
commitefb8a9ba454190efe84f203c188180b9511591f0 authorJohn Ericson <John.Ericson@Obsidian.Systems> dateFri 23 Apr 2021, 13:21 (5 years ago) parent76f010e
1 file changed+8−7
src/Data/Patch/DMapWithPatchingMove.hs+8−7
src/Data/Patch/DMapWithPatchingMove.hs+8−7
@@ -20,7 +20,7 @@
2020module Data.Patch.DMapWithPatchingMove where
2121
2222import qualified Control.Category as Cat
23−--import qualified Control.Category.DecidablyEmpty as Cat
23+import qualified Control.Category.DecidablyEmpty as Cat
2424
2525import Data.Constraint.Extras (Has')
2626import Data.Dependent.Map (DMap)
@@ -88,6 +88,7 @@ newtype PatchDMapWithPatchingMove k v = PatchDMapWithPatchingMove (DMap k (NodeI
8888
8989-- It won't let me derive for some reason
9090instance ( GCompare k
91+ , Cat.DecidablyEmpty v
9192 , Cat.Semigroupoid v
9293 , PatchHet2 v
9394 , PatchSource1 v ~ PatchTarget1 v
@@ -239,7 +240,7 @@ data Fixup k p
239240instance forall k p
240241 . ( GCompare k
241242 , Cat.Semigroupoid p
242− -- , Cat.DecidablyEmpty p
243+ , Cat.DecidablyEmpty p
243244 , PatchHet2 p
244245 , PatchSource1 p ~ PatchTarget1 p
245246 )
@@ -254,10 +255,10 @@ instance forall k p
254255 h :: DSum k (ToFrom k p) -> [DSum k (Const (Fixup k p))]
255256 h ((between :: k between) :=> ToFrom editAfter editBefore) = case (editAfter, editBefore) of
256257 (To_Move (Some (toAfter :: k after)), From_Move ((fromBefore :: k before) :=> Flip p) :: From k p between) ->
257− --case toAfter `geq` fromBefore of
258− -- Just Refl | Just Refl <- Cat.isId p0 ->
259− -- [ toAfter :=> Fixup_Delete ]
260− -- _ ->
258+ case toAfter `geq` fromBefore of
259+ Just Refl | Just Refl <- Cat.isId p ->
260+ [ toAfter :=> Const Fixup_Delete ]
261+ _ ->
261262 [ toAfter :=> Const (Fixup_Update $ This $ between :=> From_Move (fromBefore :=> Flip p))
262263 , fromBefore :=> Const (Fixup_Update $ That $ To_Move $ Some toAfter)
263264 ]
@@ -313,7 +314,7 @@ instance forall k p
313314-- @'applyAlways' (p <> q) == 'applyAlways' p . 'applyAlways' q@
314315instance ( GCompare k
315316 , Cat.Semigroupoid p
316− -- , DecidablyEmpty p
317+ , Cat.DecidablyEmpty p
317318 , PatchHet2 p
318319 , PatchSource1 p ~ PatchTarget1 p
319320 ) => Monoid (PatchDMapWithPatchingMove k p) where