| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
Control.Foldl.NonEmpty
Description
This module provides a Fold1 type that is a "non-empty" analog of the
    Fold type, meaning that it requires at least one input element in order to
    produce a result
This module does not provide all of the same utilities as the
    Control.Foldl module.  Instead, this module only provides the utilities
    which can make use of the non-empty input guarantee (e.g. head).  For
    all other utilities you can convert them from the equivalent Fold using
    fromFold.
Synopsis
- data Fold1 a b = Fold1 (a -> Fold a b)
 - fold1 :: Foldable1 f => Fold1 a b -> f a -> b
 - fromFold :: Fold a b -> Fold1 a b
 - toFold :: Fold1 a b -> Fold a (Maybe b)
 - nonEmpty :: Fold1 a (NonEmpty a)
 - sconcat :: Semigroup a => Fold1 a a
 - head :: Fold1 a a
 - last :: Fold1 a a
 - maximum :: Ord a => Fold1 a a
 - maximumBy :: (a -> a -> Ordering) -> Fold1 a a
 - minimum :: Ord a => Fold1 a a
 - minimumBy :: (a -> a -> Ordering) -> Fold1 a a
 
Documentation
Instances
| Profunctor Fold1 Source # | |
Defined in Control.Foldl.NonEmpty Methods dimap :: (a -> b) -> (c -> d) -> Fold1 b c -> Fold1 a d # lmap :: (a -> b) -> Fold1 b c -> Fold1 a c # rmap :: (b -> c) -> Fold1 a b -> Fold1 a c # (#.) :: forall a b c q. Coercible c b => q b c -> Fold1 a b -> Fold1 a c # (.#) :: forall a b c q. Coercible b a => Fold1 b c -> q a b -> Fold1 a c #  | |
| Applicative (Fold1 a) Source # | |
| Functor (Fold1 a) Source # | |
| Monoid b => Monoid (Fold1 a b) Source # | |
| Semigroup b => Semigroup (Fold1 a b) Source # | |
| Floating b => Floating (Fold1 a b) Source # | |
Defined in Control.Foldl.NonEmpty Methods exp :: Fold1 a b -> Fold1 a b # log :: Fold1 a b -> Fold1 a b # sqrt :: Fold1 a b -> Fold1 a b # (**) :: Fold1 a b -> Fold1 a b -> Fold1 a b # logBase :: Fold1 a b -> Fold1 a b -> Fold1 a b # sin :: Fold1 a b -> Fold1 a b # cos :: Fold1 a b -> Fold1 a b # tan :: Fold1 a b -> Fold1 a b # asin :: Fold1 a b -> Fold1 a b # acos :: Fold1 a b -> Fold1 a b # atan :: Fold1 a b -> Fold1 a b # sinh :: Fold1 a b -> Fold1 a b # cosh :: Fold1 a b -> Fold1 a b # tanh :: Fold1 a b -> Fold1 a b # asinh :: Fold1 a b -> Fold1 a b # acosh :: Fold1 a b -> Fold1 a b # atanh :: Fold1 a b -> Fold1 a b # log1p :: Fold1 a b -> Fold1 a b # expm1 :: Fold1 a b -> Fold1 a b #  | |
| Num b => Num (Fold1 a b) Source # | |
Defined in Control.Foldl.NonEmpty  | |
| Fractional b => Fractional (Fold1 a b) Source # | |
nonEmpty :: Fold1 a (NonEmpty a) Source #
Fold all values within a non-empty container into a NonEmpty list