on develop help sign in
Put back Cat.DecidablyEmpty
efb8a9bJohn Ericson
src/Data/Patch/DMapWithPatchingMove.hs+8−7
@@ -20,7 +20,7 @@
20module Data.Patch.DMapWithPatchingMove where
20module Data.Patch.DMapWithPatchingMove where
21
21
22import qualified Control.Category as Cat
22import qualified Control.Category as Cat
23−--import qualified Control.Category.DecidablyEmpty as Cat
23+import qualified Control.Category.DecidablyEmpty as Cat
24
24
25import Data.Constraint.Extras (Has')
25import Data.Constraint.Extras (Has')
26import Data.Dependent.Map (DMap)
26import Data.Dependent.Map (DMap)
@@ -88,6 +88,7 @@ newtype PatchDMapWithPatchingMove k v = PatchDMapWithPatchingMove (DMap k (NodeI
88
88
89-- It won't let me derive for some reason
89-- It won't let me derive for some reason
90instance ( GCompare k
90instance ( GCompare k
91+ , Cat.DecidablyEmpty v
91 , Cat.Semigroupoid v
92 , Cat.Semigroupoid v
92 , PatchHet2 v
93 , PatchHet2 v
93 , PatchSource1 v ~ PatchTarget1 v
94 , PatchSource1 v ~ PatchTarget1 v
@@ -239,7 +240,7 @@ data Fixup k p
239instance forall k p
240instance forall k p
240 . ( GCompare k
241 . ( GCompare k
241 , Cat.Semigroupoid p
242 , Cat.Semigroupoid p
242− -- , Cat.DecidablyEmpty p
243+ , Cat.DecidablyEmpty p
243 , PatchHet2 p
244 , PatchHet2 p
244 , PatchSource1 p ~ PatchTarget1 p
245 , PatchSource1 p ~ PatchTarget1 p
245 )
246 )
@@ -254,10 +255,10 @@ instance forall k p
254 h :: DSum k (ToFrom k p) -> [DSum k (Const (Fixup k p))]
255 h :: DSum k (ToFrom k p) -> [DSum k (Const (Fixup k p))]
255 h ((between :: k between) :=> ToFrom editAfter editBefore) = case (editAfter, editBefore) of
256 h ((between :: k between) :=> ToFrom editAfter editBefore) = case (editAfter, editBefore) of
256 (To_Move (Some (toAfter :: k after)), From_Move ((fromBefore :: k before) :=> Flip p) :: From k p between) ->
257 (To_Move (Some (toAfter :: k after)), From_Move ((fromBefore :: k before) :=> Flip p) :: From k p between) ->
257− --case toAfter `geq` fromBefore of
258+ case toAfter `geq` fromBefore of
258− -- Just Refl | Just Refl <- Cat.isId p0 ->
259+ Just Refl | Just Refl <- Cat.isId p ->
259− -- [ toAfter :=> Fixup_Delete ]
260+ [ toAfter :=> Const Fixup_Delete ]
260− -- _ ->
261+ _ ->
261 [ toAfter :=> Const (Fixup_Update $ This $ between :=> From_Move (fromBefore :=> Flip p))
262 [ toAfter :=> Const (Fixup_Update $ This $ between :=> From_Move (fromBefore :=> Flip p))
262 , fromBefore :=> Const (Fixup_Update $ That $ To_Move $ Some toAfter)
263 , fromBefore :=> Const (Fixup_Update $ That $ To_Move $ Some toAfter)
263 ]
264 ]
@@ -313,7 +314,7 @@ instance forall k p
313-- @'applyAlways' (p <> q) == 'applyAlways' p . 'applyAlways' q@
314-- @'applyAlways' (p <> q) == 'applyAlways' p . 'applyAlways' q@
314instance ( GCompare k
315instance ( GCompare k
315 , Cat.Semigroupoid p
316 , Cat.Semigroupoid p
316− -- , DecidablyEmpty p
317+ , Cat.DecidablyEmpty p
317 , PatchHet2 p
318 , PatchHet2 p
318 , PatchSource1 p ~ PatchTarget1 p
319 , PatchSource1 p ~ PatchTarget1 p
319 ) => Monoid (PatchDMapWithPatchingMove k p) where
320 ) => Monoid (PatchDMapWithPatchingMove k p) where