commutative-semigroups 0.1.0.2 → 0.1.1.0
raw patch · 3 files changed
+31/−2 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.Semigroup.Commutative: instance (Data.Semigroup.Commutative.Commutative a, GHC.Base.Monoid a) => Data.Semigroup.Commutative.Commutative (Data.Semigroup.WrappedMonoid a)
+ Data.Semigroup.Commutative: instance Data.Semigroup.Commutative.Commutative Data.Semigroup.Internal.All
+ Data.Semigroup.Commutative: instance Data.Semigroup.Commutative.Commutative Data.Semigroup.Internal.Any
+ Data.Semigroup.Commutative: instance Data.Semigroup.Commutative.Commutative GHC.Base.Void
+ Data.Semigroup.Commutative: instance Data.Semigroup.Commutative.Commutative GHC.Event.Internal.Types.Event
+ Data.Semigroup.Commutative: instance Data.Semigroup.Commutative.Commutative GHC.Event.Internal.Types.Lifetime
+ Data.Semigroup.Commutative: instance GHC.Classes.Ord a => Data.Semigroup.Commutative.Commutative (Data.Semigroup.Max a)
+ Data.Semigroup.Commutative: instance GHC.Classes.Ord a => Data.Semigroup.Commutative.Commutative (Data.Semigroup.Min a)
Files
- ChangeLog.md +4/−0
- commutative-semigroups.cabal +1/−1
- src/Data/Semigroup/Commutative.hs +26/−1
ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for commutative-semigroups +## 0.1.1.0 -- 2024-03-24++- Added more trivial instances for semigroups from base+ ## 0.1.0.2 -- 2023-12-22 - Support GHC 9.8.1
commutative-semigroups.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: commutative-semigroups-version: 0.1.0.2+version: 0.1.1.0 synopsis: Commutative semigroups description: A commutative semigroup is a semigroup where the order of arguments to mappend does not matter.
src/Data/Semigroup/Commutative.hs view
@@ -13,20 +13,27 @@ #if MIN_VERSION_base(4,7,0) import Data.Proxy #endif+#if MIN_VERSION_base(4,8,0)+import Data.Void (Void)+#endif #if MIN_VERSION_base(4,9,0) && !MIN_VERSION_base(4,11,0) import Data.Semigroup (Semigroup(..)) #endif #if MIN_VERSION_base(4,9,0) import Data.Functor.Const import Data.Functor.Identity+import Data.Semigroup (Max, Min, WrappedMonoid) #endif+#if MIN_VERSION_base(4,10,0)+import GHC.Event (Event, Lifetime)+#endif #if MIN_VERSION_base(4,12,0) import Data.Functor.Contravariant (Op(Op)) import GHC.Generics #endif import Numeric.Product.Commutative ( CommutativeProduct ) --- |An 'Commutative' semigroup is a 'Semigroup' that follows the rule:+-- | A 'Commutative' semigroup is a 'Semigroup' that follows the rule: -- -- @a \<> b == b \<> a@ class@@ -39,6 +46,24 @@ -- | Trivial commutative semigroup. instance Commutative ()++instance Commutative All+instance Commutative Any++#if MIN_VERSION_base(4,8,0)+instance Commutative Void+#endif++#if MIN_VERSION_base(4,9,0)+instance Ord a => Commutative (Max a)+instance Ord a => Commutative (Min a)+instance (Commutative a, Monoid a) => Commutative (WrappedMonoid a)+#endif++#if MIN_VERSION_base(4,10,0)+instance Commutative Event+instance Commutative Lifetime+#endif -- | @since 0.0.1.0 instance Commutative a => Commutative (Maybe a)