(a -> b -> c) -> b -> a -> c +base

flip :: (a -> b -> c) -> b -> a -> c
base Prelude, base Data.Function
flip f takes its (first) two arguments in the reverse order of f.
foldr :: (a -> b -> b) -> b -> [a] -> b
base Prelude, base Data.List
foldr, applied to a binary operator, a starting value (typically the right-identity of the operator), and a list, reduces the list using the binary operator, from right to left: > foldr f z [x1, x2, ..., xn] == x1 `f` (x2 `f` ... (xn `f` z)...)
foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b
base Data.Foldable
foldr' :: Foldable t => (a -> b -> b) -> b -> t a -> b
base Data.Foldable
Fold over the elements of a structure, associating to the right, but strictly.
foldl :: Foldable t => (a -> b -> a) -> a -> t b -> a
base Data.Foldable
foldl' :: Foldable t => (a -> b -> a) -> a -> t b -> a
base Data.Foldable
Fold over the elements of a structure, associating to the left, but strictly.
foldl :: (a -> b -> a) -> a -> [b] -> a
base Prelude, base Data.List
foldl, applied to a binary operator, a starting value (typically the left-identity of the operator), and a list, reduces the list using the binary operator, from left to right: > foldl f z [x1, x2, ..., xn] == (...((z `f` x1) `f` x2) `f`...) `f` xn The list must be finite.
foldl' :: (a -> b -> a) -> a -> [b] -> a
base Data.List
A strict version of foldl.
scanr :: (a -> b -> b) -> b -> [a] -> [b]
base Prelude, base Data.List
scanr is the right-to-left dual of scanl. Note that > head (scanr f z xs) == foldr f z xs.
scanl :: (a -> b -> a) -> a -> [b] -> [a]
base Prelude, base Data.List
scanl is similar to foldl, but returns a list of successive reduced values from the left: > scanl f z [x1, x2, ...] == [z, z `f` x1, (z `f` x1) `f` x2, ...] Note that > last (scanl f z xs) == foldl f z xs.
zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
base Prelude, base Data.List
zipWith generalises zip by zipping with the function given as the first argument, instead of a tupling function. For example, zipWith (+) is applied to two lists to produce the list of corresponding sums.
liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c
base Control.Applicative
Lift a binary function to actions.
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r
base Control.Monad
Promote a function to a monad, scanning the monadic arguments from left to right. For example, > liftM2 (+) [0,1] [0,2] = [0,2,1,3] > liftM2 (+) (Just 1) Nothing = Nothing
gmapQr :: Data a => (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r
base Data.Data
gmapQl :: Data a => (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r
base Data.Data
on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
base Data.Function
(*) `on` f = \x y -> f x * f y. Typical usage: Data.List.sortBy (compare `on` fst). Algebraic properties: * (*) `on` id = (*) (if (*) {, const }) * (*) `on` f) `on` g = (*) `on` (f . *  on f . flip on g = flip on (g . >  
deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]
base Data.List
The deleteBy function behaves like delete, but takes a user-supplied equality predicate.
insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a]
base Data.List
The non-overloaded version of insert.
chainl :: ReadP a -> ReadP (a -> a -> a) -> a -> ReadP a
base Text.ParserCombinators.ReadP
chainl p op x parses zero or more occurrences of p, separated by op. Returns a value produced by a left associative application of all functions returned by op. If there are no occurrences of p, x is returned.
chainr :: ReadP a -> ReadP (a -> a -> a) -> a -> ReadP a
base Text.ParserCombinators.ReadP
chainr p op x parses zero or more occurrences of p, separated by op. Returns a value produced by a right associative application of all functions returned by op. If there are no occurrences of p, x is returned.

Show more results