module Data.Composition (
(∘)
, (.:)
, (.:.)
, (.::)
, (.::.)
, (.:::)
, (.:::.)
, (.::::)
, (.::::.)
, (.*)
, (.**)
, (.***)
, (.****)
, (.*****)
, (.******)
, (.*******)
, (.********)
, compose1
, compose2
, compose3
, compose4
, compose5
, compose6
, compose7
, compose8
, compose9
) where
(.) :: (b -> c) -> (a -> b) -> a -> c
(b -> c
f . :: (b -> c) -> (a -> b) -> a -> c
. a -> b
g) a
x = b -> c
f (a -> b
g a
x)
infixr 9 .
(∘) :: (b -> c) -> (a -> b) -> a -> c
∘ :: (b -> c) -> (a -> b) -> a -> c
(∘) = (b -> c) -> (a -> b) -> a -> c
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.)
infixr 9 ∘
(.:) :: (c -> d) -> (a -> b -> c) -> a -> b -> d
(c -> d
f .: :: (c -> d) -> (a -> b -> c) -> a -> b -> d
.: a -> b -> c
g) a
x b
y = c -> d
f (a -> b -> c
g a
x b
y)
infixr 8 .:
(.*) :: (c -> d) -> (a -> b -> c) -> a -> b -> d
.* :: (c -> d) -> (a -> b -> c) -> a -> b -> d
(.*) = ((b -> c) -> b -> d) -> (a -> b -> c) -> a -> b -> d
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.) (((b -> c) -> b -> d) -> (a -> b -> c) -> a -> b -> d)
-> ((c -> d) -> (b -> c) -> b -> d)
-> (c -> d)
-> (a -> b -> c)
-> a
-> b
-> d
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (c -> d) -> (b -> c) -> b -> d
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.)
infixr 8 .*
(.**) :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
.** :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
(.**) = ((b -> c -> d) -> b -> c -> e)
-> (a -> b -> c -> d) -> a -> b -> c -> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.) (((b -> c -> d) -> b -> c -> e)
-> (a -> b -> c -> d) -> a -> b -> c -> e)
-> ((d -> e) -> (b -> c -> d) -> b -> c -> e)
-> (d -> e)
-> (a -> b -> c -> d)
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (d -> e) -> (b -> c -> d) -> b -> c -> e
forall c d a b. (c -> d) -> (a -> b -> c) -> a -> b -> d
(.*)
.*** :: (d -> e) -> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e
(.***) = ((a -> b -> c -> d) -> a -> b -> c -> e)
-> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.) (((a -> b -> c -> d) -> a -> b -> c -> e)
-> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e)
-> ((d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e)
-> (d -> e)
-> (a -> a -> b -> c -> d)
-> a
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
forall d e a b c.
(d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
(.**)
.**** :: (d -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e
(.****) = ((a -> a -> b -> c -> d) -> a -> a -> b -> c -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.) (((a -> a -> b -> c -> d) -> a -> a -> b -> c -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e)
-> ((d -> e) -> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e)
-> (d -> e)
-> (a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (d -> e) -> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e
forall d e a a b c.
(d -> e) -> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e
(.***)
.***** :: (d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.*****) = ((a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.) (((a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e)
-> ((d -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e)
-> (d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (d -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e
forall d e a a a b c.
(d -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e
(.****)
.****** :: (d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.******) = ((a -> a -> a -> a -> b -> c -> d)
-> a -> a -> a -> a -> b -> c -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.) (((a -> a -> a -> a -> b -> c -> d)
-> a -> a -> a -> a -> b -> c -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e)
-> ((d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e)
-> (d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.*****)
.******* :: (d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.*******) = ((a -> a -> a -> a -> a -> b -> c -> d)
-> a -> a -> a -> a -> a -> b -> c -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.) (((a -> a -> a -> a -> a -> b -> c -> d)
-> a -> a -> a -> a -> a -> b -> c -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e)
-> ((d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e)
-> (d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.******)
.******** :: (d -> e)
-> (a -> a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.********) = ((a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a -> a -> a -> a -> a -> a -> b -> c -> e)
-> (a -> a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.) (((a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a -> a -> a -> a -> a -> a -> b -> c -> e)
-> (a -> a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e)
-> ((d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e)
-> (d -> e)
-> (a -> a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.*******)
infixr 8 .**
infixr 8 .***
infixr 8 .****
infixr 8 .*****
infixr 8 .******
infixr 8 .*******
infixr 8 .********
compose1 :: (b -> c) -> (a -> b) -> a -> c
compose1 :: (b -> c) -> (a -> b) -> a -> c
compose1 = (b -> c) -> (a -> b) -> a -> c
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.)
compose2 :: (c -> d) -> (a -> b -> c) -> a -> b -> d
compose2 :: (c -> d) -> (a -> b -> c) -> a -> b -> d
compose2 = (c -> d) -> (a -> b -> c) -> a -> b -> d
forall c d a b. (c -> d) -> (a -> b -> c) -> a -> b -> d
(.*)
compose3 :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
compose3 :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
compose3 = (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
forall d e a b c.
(d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
(.**)
compose4 :: (d -> e) -> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e
compose4 = (d -> e) -> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e
forall d e a a b c.
(d -> e) -> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e
(.***)
compose5 :: (d -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e
compose5 = (d -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e
forall d e a a a b c.
(d -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e
(.****)
compose6 :: (d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
compose6 = (d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.*****)
compose7 :: (d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
compose7 = (d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.******)
compose8 :: (d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
compose8 = (d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.*******)
compose9 :: (d -> e)
-> (a -> a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
compose9 = (d -> e)
-> (a -> a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.********)
(.:.) :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
.:. :: (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
(.:.) = (d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
forall d e a b c.
(d -> e) -> (a -> b -> c -> d) -> a -> b -> c -> e
(.**)
.:: :: (d -> e) -> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e
(.::) = (d -> e) -> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e
forall d e a a b c.
(d -> e) -> (a -> a -> b -> c -> d) -> a -> a -> b -> c -> e
(.***)
.::. :: (d -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e
(.::.) = (d -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e
forall d e a a a b c.
(d -> e)
-> (a -> a -> a -> b -> c -> d) -> a -> a -> a -> b -> c -> e
(.****)
.::: :: (d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.:::) = (d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.*****)
.:::. :: (d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.:::.) = (d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.******)
.:::: :: (d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.::::) = (d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.*******)
.::::. :: (d -> e)
-> (a -> a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.::::.) = (d -> e)
-> (a -> a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
forall d e a a a a a a a b c.
(d -> e)
-> (a -> a -> a -> a -> a -> a -> a -> b -> c -> d)
-> a
-> a
-> a
-> a
-> a
-> a
-> a
-> b
-> c
-> e
(.********)
infixr 8 .:.
infixr 8 .::
infixr 8 .::.
infixr 8 .:::
infixr 8 .:::.
infixr 8 .::::
infixr 8 .::::.