packages feed

non-negative 0.1.1.2 → 0.1.2

raw patch · 3 files changed

+18/−7 lines, 3 filesdep +semigroups

Dependencies added: semigroups

Files

non-negative.cabal view
@@ -1,5 +1,5 @@ Name:             non-negative-Version:          0.1.1.2+Version:          0.1.2 License:          GPL License-File:     LICENSE Author:           Henning Thielemann <haskell@henning-thielemann.de>@@ -21,7 +21,7 @@   description: Choose the new smaller, split-up base package.  Source-Repository this-  Tag:         0.1.1.2+  Tag:         0.1.2   Type:        darcs   Location:    http://code.haskell.org/~thielema/non-negative/ @@ -31,6 +31,7 @@  Library   Build-Depends:+    semigroups >=0.1 && <1.0,     utility-ht >= 0.0.1 && <0.1,     QuickCheck >= 2.1 && <3   If flag(splitBase)@@ -55,6 +56,7 @@   GHC-Options:      -Wall   Build-Depends:     QuickCheck,+    semigroups,     utility-ht,     base   Main-Is:          Test/Main.hs
src/Numeric/NonNegative/ChunkyPrivate.hs view
@@ -18,9 +18,10 @@  import qualified Numeric.NonNegative.Class as NonNeg import Control.Monad (liftM, liftM2)+import Data.Monoid (Monoid(mempty, mappend), )+import Data.Semigroup (Semigroup((<>)), ) import Data.Tuple.HT (mapSnd, ) -import qualified Data.Monoid as Mn import Test.QuickCheck (Arbitrary(arbitrary, shrink))  {- |@@ -151,7 +152,7 @@ -}  instance (NonNeg.C a, Num a) => Num (T a) where-   (+)    = Mn.mappend+   (+) = mappend    (Cons x) - (Cons y) =       let (b,d) = snd $ glue x y           d' = Cons d@@ -193,7 +194,10 @@    in  (fromChunks cs, rm)  -instance Mn.Monoid (T a) where+instance Semigroup (T a) where+   (<>) = lift2 (++)++instance Monoid (T a) where    mempty = zero    mappend = lift2 (++) 
src/Numeric/NonNegative/Wrapper.hs view
@@ -15,8 +15,9 @@     Int, Integer, Float, Double, Ratio, Rational) where  import qualified Numeric.NonNegative.Class as NonNeg-import Data.Monoid (Monoid, )-import qualified Data.Monoid as Monoid+import Data.Monoid (Monoid(mempty, mappend, mconcat))+import Data.Semigroup (Semigroup(sconcat, (<>)))+import Data.List.NonEmpty (NonEmpty((:|)))  import Test.QuickCheck (Arbitrary(arbitrary, shrink)) import Data.Tuple.HT (mapPair, mapSnd, )@@ -104,6 +105,10 @@ lift2 :: (a -> a -> a) -> (T a -> T a -> T a) lift2 f (Cons x) (Cons y) = Cons $ f x y ++instance (Num a) => Semigroup (T a) where+   Cons x <> Cons y = Cons (x+y)+   sconcat (x :| xs) = Cons $ toNumber x + sum (map toNumber xs)  instance (Num a) => Monoid (T a) where    mempty = Cons 0