| Safe Haskell | Trustworthy |
|---|---|
| Language | Haskell2010 |
Data.Fold.Class
Documentation
class Choice p => Scan p where Source #
Minimal complete definition
Methods
prefix1 :: a -> p a b -> p a b Source #
postfix1 :: p a b -> a -> p a b Source #
run1 :: a -> p a b -> b Source #
Apply a Folding to a single element of input
interspersing :: a -> p a b -> p a b Source #
class Scan p => Folding p where Source #
Methods
prefix :: Foldable t => t a -> p a b -> p a b Source #
Partially apply a Folding to some initial input on the left.
prefixOf :: Fold s a -> s -> p a b -> p a b Source #
postfix :: Foldable t => p a b -> t a -> p a b Source #
postfixOf :: Fold s a -> p a b -> s -> p a b Source #
run :: Foldable t => t a -> p a b -> b Source #
Apply a Folding to a container full of input:
>>>run ["hello","world"] $ L id (++) []"helloworld"
>>>run [1,2,3] $ L id (+) 06
Instances
| Folding L Source # | |
Defined in Data.Fold.L Methods prefix :: Foldable t => t a -> L a b -> L a b Source # prefixOf :: Fold s a -> s -> L a b -> L a b Source # postfix :: Foldable t => L a b -> t a -> L a b Source # postfixOf :: Fold s a -> L a b -> s -> L a b Source # run :: Foldable t => t a -> L a b -> b Source # | |
| Folding L' Source # | |
Defined in Data.Fold.L' Methods prefix :: Foldable t => t a -> L' a b -> L' a b Source # prefixOf :: Fold s a -> s -> L' a b -> L' a b Source # postfix :: Foldable t => L' a b -> t a -> L' a b Source # postfixOf :: Fold s a -> L' a b -> s -> L' a b Source # run :: Foldable t => t a -> L' a b -> b Source # | |
| Folding M Source # | |
Defined in Data.Fold.M Methods prefix :: Foldable t => t a -> M a b -> M a b Source # prefixOf :: Fold s a -> s -> M a b -> M a b Source # postfix :: Foldable t => M a b -> t a -> M a b Source # postfixOf :: Fold s a -> M a b -> s -> M a b Source # run :: Foldable t => t a -> M a b -> b Source # | |
| Folding R Source # | |
Defined in Data.Fold.R Methods prefix :: Foldable t => t a -> R a b -> R a b Source # prefixOf :: Fold s a -> s -> R a b -> R a b Source # postfix :: Foldable t => R a b -> t a -> R a b Source # postfixOf :: Fold s a -> R a b -> s -> R a b Source # run :: Foldable t => t a -> R a b -> b Source # | |
beneath :: Profunctor p => Optic p Identity s t a b -> p a b -> p s t Source #
This acts like a generalized notion of "costrength",
when applied to a Folding, causing it to return the
left-most value that fails to match the Prism, or the
result of accumulating rewrapped in the Prism if
everything matches.
>>>run [Left 1, Left 2, Left 3] $ beneath _Left $ R id (+) 0Left 6
>>>run [Left 1, Right 2, Right 3] $ beneath _Left $ R id (+) 0Right 2
beneath :: Prism s t a b -> p a b -> p s t beneath :: Iso s t a b -> p a b -> p s t