git.iko.soy/typeable/validationt
on master help sign in
Add support for ghc-8.4
commit426fca09f71c3e4a0fabd4ee12858e387f6e37e9 authorDmitry Bushev <bushevdv@gmail.com> dateThu 5 Apr 2018, 21:17 (9 years ago) parent24578c9
2 files changed+7−2
src/Control/Monad/Validation.hs+5 validationt.cabal+2−2
src/Control/Monad/Validation.hs+5
@@ -16,6 +16,7 @@ import Data.Foldable as F
1616import Data.List as L
1717import Data.Map.Strict as M
1818import Data.Monoid
19+import qualified Data.Semigroup as S
1920import Data.Text as T
2021import Data.Vector as V
2122import Test.QuickCheck
@@ -47,6 +48,10 @@ instance (Ord k) => Ixed (MonoidMap k v) where
4748instance (Ord k) => At (MonoidMap k v) where
4849 at key = _MonoidMap . at key
4950
51+instance (Ord k, S.Semigroup v) => S.Semigroup (MonoidMap k v) where
52+ (MonoidMap a) <> (MonoidMap b) =
53+ MonoidMap $ M.unionWith (S.<>) a b
54+
5055instance (Ord k, Monoid v) => Monoid (MonoidMap k v) where
5156 mempty = MonoidMap M.empty
5257 mappend (MonoidMap a) (MonoidMap b) =
validationt.cabal+2−2
@@ -18,8 +18,6 @@ cabal-version: >=1.10
1818
1919library
2020 exposed-modules: Control.Monad.Validation
21− -- other-modules:
22− -- other-extensions:
2321 build-depends: base >=4.8 && < 5
2422 , aeson >= 1.0
2523 , containers
@@ -33,5 +31,7 @@ library
3331 , transformers-base
3432 , transformers-lift
3533 , vector
34+ if impl(ghc < 8.0)
35+ build-depends: semigroups == 0.18.*
3636 hs-source-dirs: src
3737 default-language: Haskell2010