packages feed

notzero 0.0.1 → 0.0.2

raw patch · 4 files changed

+20/−3 lines, 4 files

Files

changelog view
@@ -1,4 +1,7 @@-0.0.1+0.0.2 -Initial version+* Semigroup instances on `NotZeroOr` and `AccNotZeroOr`. +0.0.1++* Initial version
notzero.cabal view
@@ -1,5 +1,5 @@ name:               notzero-version:            0.0.1+version:            0.0.2 license:            BSD3 license-file:       LICENSE author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ> <dibblego>
src/Data/AccNotZeroOr.hs view
@@ -18,6 +18,7 @@ import Data.Functor.Identity(Identity(Identity)) import Data.NotZero(NotZero) import Data.NotZeroOr(NotZeroOr(IsNotZero, OrNotZero), NotZeroOrT, isoNumber, isoNotZeroOrT)+import Data.Semigroup(Semigroup((<>))) import Prelude(Num)  data AccNotZeroOr f a x =@@ -89,6 +90,12 @@   Iso (OneNotZeroOr a x) (OneNotZeroOr b y) (NotZeroOrT a Identity x) (NotZeroOrT b Identity y) isoOneNotZeroOrT =   isoOneNotZeroOr . isoNotZeroOrT++instance Semigroup (AccNotZeroOr f a x) where+  OrAccNotZero x <> _ =+    OrAccNotZero x+  IsAccNotZero _ <> y =+    y  instance Functor f => Functor (AccNotZeroOr f a) where   fmap _ (IsAccNotZero z) =
src/Data/NotZeroOr.hs view
@@ -25,6 +25,7 @@ import Data.Maybe(Maybe(Nothing, Just)) import Data.NotZero(NotZero, notZero, getNotZero) import Data.Ord(Ord)+import Data.Semigroup(Semigroup((<>))) import Prelude(Show, Num)  data NotZeroOr a x =@@ -91,6 +92,12 @@              Nothing -> OrNotZero ()              Just z -> IsNotZero z) +instance Semigroup (NotZeroOr a x) where+  OrNotZero x <> _ =+    OrNotZero x+  IsNotZero _ <> y =+    y+     instance Functor (NotZeroOr a) where   fmap _ (IsNotZero z) =     IsNotZero z