From a9b9e5d0d72c2348580dbac5533b89a45abd8938 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Wed, 19 Jan 2022 13:11:40 -0500 Subject: Deal with the Semigroup/Monoid proposal base-4.11 made Semigroup a superclass of Monoid. Provide Semigroup implementations for Monoids. --- Types/Difference.hs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'Types/Difference.hs') diff --git a/Types/Difference.hs b/Types/Difference.hs index 4abc75c44..8516a3df7 100644 --- a/Types/Difference.hs +++ b/Types/Difference.hs @@ -1,6 +1,7 @@ {- git-annex repository differences - - Copyright 2015 Joey Hess + - Copyright 2022 Benjamin Barenblat - - Licensed under the GNU GPL version 3 or higher. -} @@ -67,14 +68,16 @@ instance Eq Differences where , oneLevelBranchHash ] -instance Monoid Differences where - mempty = Differences False False False - mappend a@(Differences {}) b@(Differences {}) = a +instance Semigroup Differences where + a@(Differences {}) <> b@(Differences {}) = a { objectHashLower = objectHashLower a || objectHashLower b , oneLevelObjectHash = oneLevelObjectHash a || oneLevelObjectHash b , oneLevelBranchHash = oneLevelBranchHash a || oneLevelBranchHash b } - mappend _ _ = UnknownDifferences + _ <> _ = UnknownDifferences + +instance Monoid Differences where + mempty = Differences False False False readDifferences :: String -> Differences readDifferences = maybe UnknownDifferences mkDifferences . readish -- cgit v1.2.3