packages feed

alg 0.1.1.1 → 0.2.0.0

raw patch · 2 files changed

+56/−4 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Algebra: instance Algebra.Group a => Algebra.Group (GHC.Types.IO a)
+ Algebra: instance (Algebra.Abelian a, Algebra.Abelian b) => Algebra.Abelian (a, b)
+ Algebra: instance (Algebra.Abelian a, Algebra.Abelian b, Algebra.Abelian c) => Algebra.Abelian (a, b, c)
+ Algebra: instance (Algebra.Abelian a, Algebra.Abelian b, Algebra.Abelian c, Algebra.Abelian d) => Algebra.Abelian (a, b, c, d)
+ Algebra: instance (Algebra.Abelian a, Algebra.Abelian b, Algebra.Abelian c, Algebra.Abelian d, Algebra.Abelian e) => Algebra.Abelian (a, b, c, d, e)
+ Algebra: instance (Algebra.Idempotent a, Algebra.Idempotent b) => Algebra.Idempotent (a, b)
+ Algebra: instance (Algebra.Idempotent a, Algebra.Idempotent b, Algebra.Idempotent c) => Algebra.Idempotent (a, b, c)
+ Algebra: instance (Algebra.Idempotent a, Algebra.Idempotent b, Algebra.Idempotent c, Algebra.Idempotent d) => Algebra.Idempotent (a, b, c, d)
+ Algebra: instance (Algebra.Idempotent a, Algebra.Idempotent b, Algebra.Idempotent c, Algebra.Idempotent d, Algebra.Idempotent e) => Algebra.Idempotent (a, b, c, d, e)
+ Algebra: instance Algebra.Abelian ()
+ Algebra: instance Algebra.Abelian (Data.Monoid.Product GHC.Integer.Type.Integer)
+ Algebra: instance Algebra.Abelian (Data.Monoid.Product GHC.Natural.Natural)
+ Algebra: instance Algebra.Abelian (Data.Monoid.Product GHC.Types.Int)
+ Algebra: instance Algebra.Abelian (Data.Monoid.Product GHC.Types.Word)
+ Algebra: instance Algebra.Abelian (Data.Monoid.Sum GHC.Integer.Type.Integer)
+ Algebra: instance Algebra.Abelian (Data.Monoid.Sum GHC.Natural.Natural)
+ Algebra: instance Algebra.Abelian (Data.Monoid.Sum GHC.Types.Int)
+ Algebra: instance Algebra.Abelian (Data.Monoid.Sum GHC.Types.Word)
+ Algebra: instance Algebra.Abelian (Data.Semigroup.Max GHC.Integer.Type.Integer)
+ Algebra: instance Algebra.Abelian (Data.Semigroup.Max GHC.Natural.Natural)
+ Algebra: instance Algebra.Abelian (Data.Semigroup.Max GHC.Types.Int)
+ Algebra: instance Algebra.Abelian (Data.Semigroup.Max GHC.Types.Word)
+ Algebra: instance Algebra.Abelian (Data.Semigroup.Min GHC.Integer.Type.Integer)
+ Algebra: instance Algebra.Abelian (Data.Semigroup.Min GHC.Natural.Natural)
+ Algebra: instance Algebra.Abelian (Data.Semigroup.Min GHC.Types.Int)
+ Algebra: instance Algebra.Abelian (Data.Semigroup.Min GHC.Types.Word)
+ Algebra: instance Algebra.Abelian Data.Monoid.All
+ Algebra: instance Algebra.Abelian Data.Monoid.Any
+ Algebra: instance Algebra.Abelian a => Algebra.Abelian (Data.Functor.Identity.Identity a)
+ Algebra: instance Algebra.Abelian a => Algebra.Abelian (Data.Monoid.Dual a)
+ Algebra: instance Algebra.Abelian b => Algebra.Abelian (a -> b)
+ Algebra: instance Algebra.Group (Data.Monoid.Sum GHC.Types.Int)
+ Algebra: instance Algebra.Group (Data.Monoid.Sum GHC.Types.Word)
+ Algebra: instance Algebra.Idempotent ()
+ Algebra: instance Algebra.Idempotent a => Algebra.Idempotent (Data.Functor.Identity.Identity a)
+ Algebra: instance Algebra.Idempotent a => Algebra.Idempotent (Data.Monoid.Dual a)
+ Algebra: instance Algebra.Idempotent b => Algebra.Idempotent (a -> b)
+ Algebra: instance GHC.Classes.Ord a => Algebra.Idempotent (Data.Semigroup.Max a)
+ Algebra: instance GHC.Classes.Ord a => Algebra.Idempotent (Data.Semigroup.Min a)
+ Algebra: instance forall k (a :: k). Algebra.Abelian (Data.Proxy.Proxy a)
+ Algebra: instance forall k (a :: k). Algebra.Idempotent (Data.Proxy.Proxy a)
+ Algebra: instance forall k a (b :: k). Algebra.Abelian a => Algebra.Abelian (Data.Functor.Const.Const a b)
+ Algebra: instance forall k a (b :: k). Algebra.Idempotent a => Algebra.Idempotent (Data.Functor.Const.Const a b)

Files

Algebra.hs view
@@ -13,13 +13,65 @@ import Data.Monoid hiding ((<>)) import Data.Proxy import Data.Semigroup-import Prelude (Integer)+import Data.Word+import Numeric.Natural+import Prelude (Int, Integer) import qualified Prelude as Base  class Semigroup a => Abelian a +instance Abelian ()+instance (Abelian a, Abelian b) => Abelian (a, b) where+instance (Abelian a, Abelian b, Abelian c) => Abelian (a, b, c) where+instance (Abelian a, Abelian b, Abelian c, Abelian d) => Abelian (a, b, c, d) where+instance (Abelian a, Abelian b, Abelian c, Abelian d, Abelian e) => Abelian (a, b, c, d, e) where++instance Abelian a => Abelian (Identity a)+instance Abelian a => Abelian (Dual a)+instance Abelian (Proxy a)+instance Abelian a => Abelian (Const a b)+instance Abelian b => Abelian (a -> b)++instance Abelian (Sum Natural)+instance Abelian (Sum Integer)+instance Abelian (Sum Word)+instance Abelian (Sum Int)++instance Abelian (Product Natural)+instance Abelian (Product Integer)+instance Abelian (Product Word)+instance Abelian (Product Int)++instance Abelian (Min Natural)+instance Abelian (Min Integer)+instance Abelian (Min Word)+instance Abelian (Min Int)++instance Abelian (Max Natural)+instance Abelian (Max Integer)+instance Abelian (Max Word)+instance Abelian (Max Int)++instance Abelian All+instance Abelian Any+ class Semigroup a => Idempotent a +instance Idempotent ()+instance (Idempotent a, Idempotent b) => Idempotent (a, b) where+instance (Idempotent a, Idempotent b, Idempotent c) => Idempotent (a, b, c) where+instance (Idempotent a, Idempotent b, Idempotent c, Idempotent d) => Idempotent (a, b, c, d) where+instance (Idempotent a, Idempotent b, Idempotent c, Idempotent d, Idempotent e) => Idempotent (a, b, c, d, e) where++instance Idempotent a => Idempotent (Identity a)+instance Idempotent a => Idempotent (Dual a)+instance Idempotent (Proxy a)+instance Idempotent a => Idempotent (Const a b)+instance Idempotent b => Idempotent (a -> b)++instance Base.Ord a => Idempotent (Min a)+instance Base.Ord a => Idempotent (Max a)+ class Monoid a => Group a where     invert :: a -> a @@ -48,9 +100,9 @@  instance Group b => Group (a -> b) where invert = (.) invert -instance Group a => Group (Base.IO a) where invert = fmap invert- instance Group (Sum Integer) where invert (Sum a) = Sum (Base.negate a)+instance Group (Sum Int) where invert (Sum a) = Sum (Base.negate a)+instance Group (Sum Word) where invert (Sum a) = Sum (Base.negate a)  (+) :: Semigroup (Sum a) => a -> a -> a a + b = getSum (Sum a <> Sum b)
alg.cabal view
@@ -1,5 +1,5 @@ name:                alg-version:             0.1.1.1+version:             0.2.0.0 synopsis:            Algebraic structures -- description:          license:             BSD3