packages feed

testing-feat 1.0.0.0 → 1.0.1.0

raw patch · 3 files changed

+21/−8 lines, 3 filesdep +semigroupsPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: semigroups

API changes (from Hackage documentation)

- Test.Feat.Enumerate: instance GHC.Base.Monoid a => GHC.Base.Monoid (Test.Feat.Enumerate.RevList a)
+ Test.Feat.Enumerate: instance (GHC.Base.Monoid a, Data.Semigroup.Semigroup a) => GHC.Base.Monoid (Test.Feat.Enumerate.RevList a)
+ Test.Feat.Enumerate: instance Data.Semigroup.Semigroup (Test.Feat.Enumerate.Enumerate a)
+ Test.Feat.Enumerate: instance Data.Semigroup.Semigroup a => Data.Semigroup.Semigroup (Test.Feat.Enumerate.RevList a)
+ Test.Feat.Finite: instance Data.Semigroup.Semigroup (Test.Feat.Finite.Finite a)

Files

Test/Feat/Enumerate.hs view
@@ -36,7 +36,8 @@ -- base import Control.Sized import Control.Applicative-import Data.Monoid+import Data.Semigroup+import Data.Monoid hiding ((<>)) import Data.Typeable import Data.List(transpose) import Test.Feat.Finite@@ -75,6 +76,9 @@   pair     = cartesian   fin k    = fromParts [finFin k] +instance Semigroup (Enumerate a) where+  (<>)  = union+ -- | The @'mappend'@ is (disjoint) @'union'@ instance Monoid (Enumerate a) where   mempty      = empty@@ -150,14 +154,17 @@ instance Functor RevList where   fmap f = toRev . fmap f . fromRev --- Maybe this should be append instead?--- | Padded zip-instance Monoid a => Monoid (RevList a) where-  mempty         = toRev[]-  mappend xs ys  = toRev$ zipMon (fromRev xs) (fromRev ys) where-    zipMon :: Monoid a => [a] -> [a] -> [a]+instance Semigroup a => Semigroup (RevList a) where+  (<>) xs ys  = toRev $ zipMon (fromRev xs) (fromRev ys) where+    zipMon :: Semigroup a => [a] -> [a] -> [a]     zipMon (x:xs) (y:ys) = x <> y : zipMon xs ys     zipMon xs ys         = xs ++ ys++-- Maybe this should be append instead?+-- | Padded zip+instance (Monoid a, Semigroup a) => Monoid (RevList a) where+  mempty   = toRev[]+  mappend  = (<>)  -- | Constructs a "Reverse list" variant of a given list. In a sensible -- Haskell implementation evaluating any inital segment of
Test/Feat/Finite.hs view
@@ -2,6 +2,7 @@ module Test.Feat.Finite (Finite (..), Index, fromFinite, finFin) where
 
 import Control.Applicative
+import Data.Semigroup
 import Data.Monoid
 
 type Index = Integer
@@ -29,6 +30,9 @@ instance Alternative Finite where
   empty = finEmpty
   (<|>) = finUnion
+
+instance Semigroup (Finite a) where
+  (<>) = finUnion
 
 instance Monoid (Finite a) where
   mempty = finEmpty
testing-feat.cabal view
@@ -1,5 +1,5 @@ Name:                testing-feat-Version:             1.0.0.0+Version:             1.0.1.0 Synopsis:            Functional Enumeration of Algebraic Types Description:         Feat (Functional Enumeration of Algebraic Types) provides                      enumerations as functions from natural numbers to values@@ -53,3 +53,5 @@     QuickCheck > 2 && < 3,     size-based < 0.2,     testing-type-modifiers < 0.2+  if impl(ghc < 8.0)+    Build-depends: semigroups < 0.19