module Fold.Nonempty.Pure
(
monoid,
null, length,
and, or, all, any,
sum, product, mean, variance, standardDeviation,
element, notElement, find, lookup,
index, findIndex, elementIndex,
list, reverseList,
)
where
import qualified Fold.Pure.Examples as Pure
import Data.Bool (Bool)
import Data.Eq (Eq)
import Data.Maybe (Maybe)
import Data.Monoid (Monoid)
import Fold.Nonempty.Conversion (fold)
import Fold.Nonempty.Type (NonemptyFold)
import Numeric.Natural (Natural)
import Prelude (Floating, Fractional, Num)
monoid :: Monoid a => NonemptyFold a a
monoid :: forall a. Monoid a => NonemptyFold a a
monoid = forall a b. Fold a b -> NonemptyFold a b
fold forall a. Monoid a => Fold a a
Pure.monoid
null :: NonemptyFold a Bool
null :: forall a. NonemptyFold a Bool
null = forall a b. Fold a b -> NonemptyFold a b
fold forall a. Fold a Bool
Pure.null
length :: NonemptyFold a Natural
length :: forall a. NonemptyFold a Natural
length = forall a b. Fold a b -> NonemptyFold a b
fold forall a. Fold a Natural
Pure.length
and :: NonemptyFold Bool Bool
and :: NonemptyFold Bool Bool
and = forall a b. Fold a b -> NonemptyFold a b
fold Fold Bool Bool
Pure.and
or :: NonemptyFold Bool Bool
or :: NonemptyFold Bool Bool
or = forall a b. Fold a b -> NonemptyFold a b
fold Fold Bool Bool
Pure.or
all :: (a -> Bool) -> NonemptyFold a Bool
all :: forall a. (a -> Bool) -> NonemptyFold a Bool
all a -> Bool
predicate = forall a b. Fold a b -> NonemptyFold a b
fold (forall a. (a -> Bool) -> Fold a Bool
Pure.all a -> Bool
predicate)
any :: (a -> Bool) -> NonemptyFold a Bool
any :: forall a. (a -> Bool) -> NonemptyFold a Bool
any a -> Bool
predicate = forall a b. Fold a b -> NonemptyFold a b
fold (forall a. (a -> Bool) -> Fold a Bool
Pure.any a -> Bool
predicate)
sum :: Num a => NonemptyFold a a
sum :: forall a. Num a => NonemptyFold a a
sum = forall a b. Fold a b -> NonemptyFold a b
fold forall a. Num a => Fold a a
Pure.sum
product :: Num a => NonemptyFold a a
product :: forall a. Num a => NonemptyFold a a
product = forall a b. Fold a b -> NonemptyFold a b
fold forall a. Num a => Fold a a
Pure.product
mean :: Fractional a => NonemptyFold a a
mean :: forall a. Fractional a => NonemptyFold a a
mean = forall a b. Fold a b -> NonemptyFold a b
fold forall a. Fractional a => Fold a a
Pure.mean
variance :: Fractional a => NonemptyFold a a
variance :: forall a. Fractional a => NonemptyFold a a
variance = forall a b. Fold a b -> NonemptyFold a b
fold forall a. Fractional a => Fold a a
Pure.variance
standardDeviation :: Floating a => NonemptyFold a a
standardDeviation :: forall a. Floating a => NonemptyFold a a
standardDeviation = forall a b. Fold a b -> NonemptyFold a b
fold forall a. Floating a => Fold a a
Pure.standardDeviation
element :: Eq a => a -> NonemptyFold a Bool
element :: forall a. Eq a => a -> NonemptyFold a Bool
element a
a = forall a b. Fold a b -> NonemptyFold a b
fold (forall a. Eq a => a -> Fold a Bool
Pure.element a
a)
notElement :: Eq a => a -> NonemptyFold a Bool
notElement :: forall a. Eq a => a -> NonemptyFold a Bool
notElement a
a = forall a b. Fold a b -> NonemptyFold a b
fold (forall a. Eq a => a -> Fold a Bool
Pure.notElement a
a)
find :: (a -> Bool) -> NonemptyFold a (Maybe a)
find :: forall a. (a -> Bool) -> NonemptyFold a (Maybe a)
find a -> Bool
ok = forall a b. Fold a b -> NonemptyFold a b
fold (forall a. (a -> Bool) -> Fold a (Maybe a)
Pure.find a -> Bool
ok)
index :: Natural -> NonemptyFold a (Maybe a)
index :: forall a. Natural -> NonemptyFold a (Maybe a)
index Natural
i = forall a b. Fold a b -> NonemptyFold a b
fold (forall a. Natural -> Fold a (Maybe a)
Pure.index Natural
i)
elementIndex :: Eq a => a -> NonemptyFold a (Maybe Natural)
elementIndex :: forall a. Eq a => a -> NonemptyFold a (Maybe Natural)
elementIndex a
a = forall a b. Fold a b -> NonemptyFold a b
fold (forall a. Eq a => a -> Fold a (Maybe Natural)
Pure.elementIndex a
a)
findIndex :: (a -> Bool) -> NonemptyFold a (Maybe Natural)
findIndex :: forall a. (a -> Bool) -> NonemptyFold a (Maybe Natural)
findIndex a -> Bool
ok = forall a b. Fold a b -> NonemptyFold a b
fold (forall a. (a -> Bool) -> Fold a (Maybe Natural)
Pure.findIndex a -> Bool
ok)
lookup :: Eq a => a -> NonemptyFold (a, b) (Maybe b)
lookup :: forall a b. Eq a => a -> NonemptyFold (a, b) (Maybe b)
lookup a
a = forall a b. Fold a b -> NonemptyFold a b
fold (forall a b. Eq a => a -> Fold (a, b) (Maybe b)
Pure.lookup a
a)
list :: NonemptyFold a [a]
list :: forall a. NonemptyFold a [a]
list = forall a b. Fold a b -> NonemptyFold a b
fold forall a. Fold a [a]
Pure.list
reverseList :: NonemptyFold a [a]
reverseList :: forall a. NonemptyFold a [a]
reverseList = forall a b. Fold a b -> NonemptyFold a b
fold forall a. Fold a [a]
Pure.reverseList