composition-1.0.0.0: Combinators for unorthodox function composition

Safe HaskellSafe-Infered

Data.Composition

Synopsis

Documentation

(.:) :: (c -> d) -> (a -> b -> c) -> a -> b -> dSource

This function is defined as

 (.:) f g x y = f (g x y)

Example usage: bind = join .: flip fmap Notice how two arguments will be given to flip fmap before the result is passed to join.

This is equivalent to bind v f = join (fmap v f)

(.*) :: (c -> d) -> (a -> b -> c) -> a -> b -> dSource

Equivalent to '(.:)'

The pattern of appending asterisks is more extensible, but uncommon in practice.

(.**) :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> eSource

(.***) :: (d -> e) -> (a -> a1 -> b -> c -> d) -> a -> a1 -> b -> c -> eSource

(.****) :: (d -> e) -> (a -> a1 -> a2 -> b -> c -> d) -> a -> a1 -> a2 -> b -> c -> eSource

(.*****) :: (d -> e) -> (a -> a1 -> a2 -> a3 -> b -> c -> d) -> a -> a1 -> a2 -> a3 -> b -> c -> eSource

(.******) :: (d -> e) -> (a -> a1 -> a2 -> a3 -> a4 -> b -> c -> d) -> a -> a1 -> a2 -> a3 -> a4 -> b -> c -> eSource

(.*******) :: (d -> e) -> (a -> a1 -> a2 -> a3 -> a4 -> a5 -> b -> c -> d) -> a -> a1 -> a2 -> a3 -> a4 -> a5 -> b -> c -> eSource

(.********) :: (d -> e) -> (a -> a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> b -> c -> d) -> a -> a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> b -> c -> eSource

compose2 :: (c -> d) -> (a -> b -> c) -> a -> b -> dSource

compose3 :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> eSource

compose4 :: (d -> e) -> (a -> a1 -> b -> c -> d) -> a -> a1 -> b -> c -> eSource

compose5 :: (d -> e) -> (a -> a1 -> a2 -> b -> c -> d) -> a -> a1 -> a2 -> b -> c -> eSource

compose6 :: (d -> e) -> (a -> a1 -> a2 -> a3 -> b -> c -> d) -> a -> a1 -> a2 -> a3 -> b -> c -> eSource

compose7 :: (d -> e) -> (a -> a1 -> a2 -> a3 -> a4 -> b -> c -> d) -> a -> a1 -> a2 -> a3 -> a4 -> b -> c -> eSource

compose8 :: (d -> e) -> (a -> a1 -> a2 -> a3 -> a4 -> a5 -> b -> c -> d) -> a -> a1 -> a2 -> a3 -> a4 -> a5 -> b -> c -> eSource

compose9 :: (d -> e) -> (a -> a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> b -> c -> d) -> a -> a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> b -> c -> eSource