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