notzero 0.0.2 → 0.0.3
raw patch · 4 files changed
+19/−1 lines, 4 files
Files
- changelog +4/−0
- notzero.cabal +1/−1
- src/Data/AccNotZeroOr.hs +7/−0
- src/Data/NotZeroOr.hs +7/−0
changelog view
@@ -1,3 +1,7 @@+0.0.3++* Monoid instances on `NotZeroOr` and `AccNotZeroOr`.+ 0.0.2 * Semigroup instances on `NotZeroOr` and `AccNotZeroOr`.
notzero.cabal view
@@ -1,5 +1,5 @@ name: notzero-version: 0.0.2+version: 0.0.3 license: BSD3 license-file: LICENSE author: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego>
src/Data/AccNotZeroOr.hs view
@@ -16,6 +16,7 @@ import Data.Eq(Eq) import Data.Functor.Alt import Data.Functor.Identity(Identity(Identity))+import Data.Monoid(Monoid(mappend, mempty)) import Data.NotZero(NotZero) import Data.NotZeroOr(NotZeroOr(IsNotZero, OrNotZero), NotZeroOrT, isoNumber, isoNotZeroOrT) import Data.Semigroup(Semigroup((<>)))@@ -96,6 +97,12 @@ OrAccNotZero x IsAccNotZero _ <> y = y+ +instance Monoid x => Monoid (AccNotZeroOr f a x) where+ mappend =+ (<>)+ mempty =+ OrAccNotZero mempty instance Functor f => Functor (AccNotZeroOr f a) where fmap _ (IsAccNotZero z) =
src/Data/NotZeroOr.hs view
@@ -23,6 +23,7 @@ import Data.Functor.Bind.Trans(BindTrans(liftB)) import Data.Functor.Identity(Identity(Identity)) import Data.Maybe(Maybe(Nothing, Just))+import Data.Monoid(Monoid(mappend, mempty)) import Data.NotZero(NotZero, notZero, getNotZero) import Data.Ord(Ord) import Data.Semigroup(Semigroup((<>)))@@ -98,6 +99,12 @@ IsNotZero _ <> y = y +instance Monoid x => Monoid (NotZeroOr a x) where+ mappend =+ (<>)+ mempty =+ OrNotZero mempty+ instance Functor (NotZeroOr a) where fmap _ (IsNotZero z) = IsNotZero z