git.iko.soy/typeable/validationt
on master help sign in
Add Semigroup instance for ghc-8.4 only
commit33541bfc1831fd36d9a146efacaa8b22670ce6bf authorDmitry Bushev <bushevdv@gmail.com> dateMon 23 Apr 2018, 10:55 (8 years ago) parent2a7adf2
2 files changed+3−7
src/Control/Monad/Validation.hs+3−5 validationt.cabal−2
src/Control/Monad/Validation.hs+3−5
@@ -17,7 +17,6 @@ import Data.Foldable as F
1717import Data.List as L
1818import Data.Map.Strict as M
1919import Data.Monoid
20−import qualified Data.Semigroup as S
2120import Data.Text as T
2221import Data.Vector as V
2322import Test.QuickCheck
@@ -50,7 +49,7 @@ instance (Ord k) => At (MonoidMap k v) where
5049 at key = _MonoidMap . at key
5150
5251#if MIN_VERSION_base(4,11,0)
53−instance (Ord k, S.Semigroup v) => S.Semigroup (MonoidMap k v) where
52+instance (Ord k, Semigroup v) => Semigroup (MonoidMap k v) where
5453 (<>) = mmAppend
5554#endif
5655
@@ -77,12 +76,11 @@ instance (Ord k, FromJSON k, FromJSON v) => FromJSON (MonoidMap k v) where
7776 return (key, val)
7877
7978#if MIN_VERSION_base(4,11,0)
80−mmAppend :: (Ord k, S.Semigroup v) => MonoidMap k v -> MonoidMap k v -> MonoidMap k v
81−mmAppend (MonoidMap a) (MonoidMap b) = MonoidMap $ M.unionWith (S.<>) a b
79+mmAppend :: (Ord k, Semigroup v) => MonoidMap k v -> MonoidMap k v -> MonoidMap k v
8280#else
8381mmAppend :: (Ord k, Monoid v) => MonoidMap k v -> MonoidMap k v -> MonoidMap k v
84−mmAppend (MonoidMap a) (MonoidMap b) = MonoidMap $ M.unionWith (<>) a b
8582#endif
83+mmAppend (MonoidMap a) (MonoidMap b) = MonoidMap $ M.unionWith (<>) a b
8684
8785-- | Convenient for 'vZoom' as first artument. Will prevent generation
8886-- of map with 'mempty' values
validationt.cabal−2
@@ -39,7 +39,5 @@ library
3939 , transformers-base
4040 , transformers-lift
4141 , vector
42− if impl(ghc < 8.0)
43− build-depends: semigroups == 0.18.*
4442 hs-source-dirs: src
4543 default-language: Haskell2010