deferred-folds-0.9.17: Abstractions over deferred folds
Safe HaskellNone
LanguageHaskell2010

DeferredFolds.Defs.Unfoldl

Synopsis

Documentation

fold :: Fold input output -> Unfoldl input -> output Source #

Apply a Gonzalez fold

unfoldlM :: UnfoldlM Identity input -> Unfoldl input Source #

Unlift a monadic unfold

mapFoldInput :: (forall x. Fold b x -> Fold a x) -> Unfoldl a -> Unfoldl b Source #

Lift a fold input mapping function into a mapping of unfolds

foldable :: Foldable foldable => foldable a -> Unfoldl a Source #

Construct from any foldable

filter :: (a -> Bool) -> Unfoldl a -> Unfoldl a Source #

Filter the values given a predicate

intsInRange :: Int -> Int -> Unfoldl Int Source #

Ints in the specified inclusive range

mapAssocs :: Map key value -> Unfoldl (key, value) Source #

Associations of a map

intMapAssocs :: IntMap value -> Unfoldl (Int, value) Source #

Associations of an intmap

byteStringBytes :: ByteString -> Unfoldl Word8 Source #

Bytes of a bytestring

shortByteStringBytes :: ShortByteString -> Unfoldl Word8 Source #

Bytes of a short bytestring

primArray :: Prim prim => PrimArray prim -> Unfoldl prim Source #

Elements of a prim array

primArrayWithIndices :: Prim prim => PrimArray prim -> Unfoldl (Int, prim) Source #

Elements of a prim array coming paired with indices

Orphan instances

Monad Unfoldl Source # 
Instance details

Methods

(>>=) :: Unfoldl a -> (a -> Unfoldl b) -> Unfoldl b Source #

(>>) :: Unfoldl a -> Unfoldl b -> Unfoldl b Source #

return :: a -> Unfoldl a Source #

Functor Unfoldl Source # 
Instance details

Methods

fmap :: (a -> b) -> Unfoldl a -> Unfoldl b Source #

(<$) :: a -> Unfoldl b -> Unfoldl a Source #

Applicative Unfoldl Source # 
Instance details

Methods

pure :: a -> Unfoldl a Source #

(<*>) :: Unfoldl (a -> b) -> Unfoldl a -> Unfoldl b Source #

liftA2 :: (a -> b -> c) -> Unfoldl a -> Unfoldl b -> Unfoldl c Source #

(*>) :: Unfoldl a -> Unfoldl b -> Unfoldl b Source #

(<*) :: Unfoldl a -> Unfoldl b -> Unfoldl a Source #

Foldable Unfoldl Source # 
Instance details

Methods

fold :: Monoid m => Unfoldl m -> m Source #

foldMap :: Monoid m => (a -> m) -> Unfoldl a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Unfoldl a -> m Source #

foldr :: (a -> b -> b) -> b -> Unfoldl a -> b Source #

foldr' :: (a -> b -> b) -> b -> Unfoldl a -> b Source #

foldl :: (b -> a -> b) -> b -> Unfoldl a -> b Source #

foldl' :: (b -> a -> b) -> b -> Unfoldl a -> b Source #

foldr1 :: (a -> a -> a) -> Unfoldl a -> a Source #

foldl1 :: (a -> a -> a) -> Unfoldl a -> a Source #

toList :: Unfoldl a -> [a] Source #

null :: Unfoldl a -> Bool Source #

length :: Unfoldl a -> Int Source #

elem :: Eq a => a -> Unfoldl a -> Bool Source #

maximum :: Ord a => Unfoldl a -> a Source #

minimum :: Ord a => Unfoldl a -> a Source #

sum :: Num a => Unfoldl a -> a Source #

product :: Num a => Unfoldl a -> a Source #

Alternative Unfoldl Source # 
Instance details

MonadPlus Unfoldl Source # 
Instance details

Methods

mzero :: Unfoldl a Source #

mplus :: Unfoldl a -> Unfoldl a -> Unfoldl a Source #

IsList (Unfoldl a) Source # 
Instance details

Associated Types

type Item (Unfoldl a) Source #

Methods

fromList :: [Item (Unfoldl a)] -> Unfoldl a Source #

fromListN :: Int -> [Item (Unfoldl a)] -> Unfoldl a Source #

toList :: Unfoldl a -> [Item (Unfoldl a)] Source #

Eq a => Eq (Unfoldl a) Source # 
Instance details

Methods

(==) :: Unfoldl a -> Unfoldl a -> Bool Source #

(/=) :: Unfoldl a -> Unfoldl a -> Bool Source #

Show a => Show (Unfoldl a) Source # 
Instance details

Semigroup (Unfoldl a) Source # 
Instance details

Methods

(<>) :: Unfoldl a -> Unfoldl a -> Unfoldl a Source #

sconcat :: NonEmpty (Unfoldl a) -> Unfoldl a Source #

stimes :: Integral b => b -> Unfoldl a -> Unfoldl a Source #

Monoid (Unfoldl a) Source # 
Instance details