module Data.Function.Contravariant.Syntax where

(-.) :: (a -> b)
     -> (b -> c)
     -> a -> c
-. :: forall a b c. (a -> b) -> (b -> c) -> a -> c
(-.) = forall a b c. (a -> b -> c) -> b -> a -> c
flip forall b c a. (b -> c) -> (a -> b) -> a -> c
(.)

infixr 8 -.

(-.:) :: (b -> c)
      -> (a -> c -> d)
      -> a -> b -> d
-.: :: forall b c a d. (b -> c) -> (a -> c -> d) -> a -> b -> d
(-.:) b -> c
p a -> c -> d
q a
a b
b = a -> c -> d
q a
a forall a b. (a -> b) -> a -> b
$ b -> c
p b
b

infixr 8 -.:

-.* :: (b -> c) -> (a -> c -> d) -> a -> b -> d
(-.*) = forall b c a d. (b -> c) -> (a -> c -> d) -> a -> b -> d
(-.:)

infixr 8 -.*

(-.:.) :: (c -> d)
       -> (a -> b -> d -> e)
       -> a -> b -> c -> e
-.:. :: forall c d a b e.
(c -> d) -> (a -> b -> d -> e) -> a -> b -> c -> e
(-.:.) c -> d
p a -> b -> d -> e
q a
a b
b c
c = a -> b -> d -> e
q a
a b
b forall a b. (a -> b) -> a -> b
$ c -> d
p c
c

infixr 8 -.:.

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

infixr 8 -.**

(-.::) :: (d -> e)
       -> (a -> b -> c -> e -> f)
       -> a -> b -> c -> d -> f
-.:: :: forall d e a b c f.
(d -> e) -> (a -> b -> c -> e -> f) -> a -> b -> c -> d -> f
(-.::) d -> e
p a -> b -> c -> e -> f
q a
a b
b c
c d
d = a -> b -> c -> e -> f
q a
a b
b c
c forall a b. (a -> b) -> a -> b
$ d -> e
p d
d

infixr 8 -.::

-.*** :: (d -> e) -> (a -> b -> c -> e -> f) -> a -> b -> c -> d -> f
(-.***) = forall d e a b c f.
(d -> e) -> (a -> b -> c -> e -> f) -> a -> b -> c -> d -> f
(-.::)

infixr 8 -.***

(-.::.) :: (e -> f)
        -> (a -> b -> c -> d -> f -> g)
        -> a -> b -> c -> d -> e -> g
-.::. :: forall e f a b c d g.
(e -> f)
-> (a -> b -> c -> d -> f -> g) -> a -> b -> c -> d -> e -> g
(-.::.) e -> f
p a -> b -> c -> d -> f -> g
q a
a b
b c
c d
d e
e = a -> b -> c -> d -> f -> g
q a
a b
b c
c d
d forall a b. (a -> b) -> a -> b
$ e -> f
p e
e

infixr 8 -.::.

-.**** :: (e -> f)
-> (a -> b -> c -> d -> f -> g) -> a -> b -> c -> d -> e -> g
(-.****) = forall e f a b c d g.
(e -> f)
-> (a -> b -> c -> d -> f -> g) -> a -> b -> c -> d -> e -> g
(-.::.)

infixr 8 -.****

(-.:::) :: (f -> g)
        -> (a -> b -> c -> d -> e -> g -> h)
        -> a -> b -> c -> d -> e -> f -> h
-.::: :: forall f g a b c d e h.
(f -> g)
-> (a -> b -> c -> d -> e -> g -> h)
-> a
-> b
-> c
-> d
-> e
-> f
-> h
(-.:::) f -> g
p a -> b -> c -> d -> e -> g -> h
q a
a b
b c
c d
d e
e f
f = a -> b -> c -> d -> e -> g -> h
q a
a b
b c
c d
d e
e forall a b. (a -> b) -> a -> b
$ f -> g
p f
f

infixr 8 -.:::

-.***** :: (f -> g)
-> (a -> b -> c -> d -> e -> g -> h)
-> a
-> b
-> c
-> d
-> e
-> f
-> h
(-.*****) = forall f g a b c d e h.
(f -> g)
-> (a -> b -> c -> d -> e -> g -> h)
-> a
-> b
-> c
-> d
-> e
-> f
-> h
(-.:::)

infixr 8 -.*****

(-.:::.) :: (g -> h)
         -> (a -> b -> c -> d -> e -> f -> h -> i)
         -> a -> b -> c -> d -> e -> f -> g -> i
-.:::. :: forall g h a b c d e f i.
(g -> h)
-> (a -> b -> c -> d -> e -> f -> h -> i)
-> a
-> b
-> c
-> d
-> e
-> f
-> g
-> i
(-.:::.) g -> h
p a -> b -> c -> d -> e -> f -> h -> i
q a
a b
b c
c d
d e
e f
f g
g = a -> b -> c -> d -> e -> f -> h -> i
q a
a b
b c
c d
d e
e f
f forall a b. (a -> b) -> a -> b
$ g -> h
p g
g

infixr 8 -.:::.

-.****** :: (g -> h)
-> (a -> b -> c -> d -> e -> f -> h -> i)
-> a
-> b
-> c
-> d
-> e
-> f
-> g
-> i
(-.******) = forall g h a b c d e f i.
(g -> h)
-> (a -> b -> c -> d -> e -> f -> h -> i)
-> a
-> b
-> c
-> d
-> e
-> f
-> g
-> i
(-.:::.)

infixr 8 -.******

(-.::::) :: (h -> i)
         -> (a -> b -> c -> d -> e -> f -> g -> i -> j)
         -> a -> b -> c -> d -> e -> f -> g -> h -> j
-.:::: :: forall h i a b c d e f g j.
(h -> i)
-> (a -> b -> c -> d -> e -> f -> g -> i -> j)
-> a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> j
(-.::::) h -> i
p a -> b -> c -> d -> e -> f -> g -> i -> j
q a
a b
b c
c d
d e
e f
f g
g h
h = a -> b -> c -> d -> e -> f -> g -> i -> j
q a
a b
b c
c d
d e
e f
f g
g forall a b. (a -> b) -> a -> b
$ h -> i
p h
h

infixr 8 -.::::

-.******* :: (h -> i)
-> (a -> b -> c -> d -> e -> f -> g -> i -> j)
-> a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> j
(-.*******) = forall h i a b c d e f g j.
(h -> i)
-> (a -> b -> c -> d -> e -> f -> g -> i -> j)
-> a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> j
(-.::::)

infixr 8 -.*******

(-.::::.) :: (i -> j)
          -> (a -> b -> c -> d -> e -> f -> g -> h -> j -> k)
          -> a -> b -> c -> d -> e -> f -> g -> h -> i -> k
-.::::. :: forall i j a b c d e f g h k.
(i -> j)
-> (a -> b -> c -> d -> e -> f -> g -> h -> j -> k)
-> a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> k
(-.::::.) i -> j
p a -> b -> c -> d -> e -> f -> g -> h -> j -> k
q a
a b
b c
c d
d e
e f
f g
g h
h i
i = a -> b -> c -> d -> e -> f -> g -> h -> j -> k
q a
a b
b c
c d
d e
e f
f g
g h
h forall a b. (a -> b) -> a -> b
$ i -> j
p i
i

infixr 8 -.::::.

-.******** :: (i -> j)
-> (a -> b -> c -> d -> e -> f -> g -> h -> j -> k)
-> a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> k
(-.********) = forall i j a b c d e f g h k.
(i -> j)
-> (a -> b -> c -> d -> e -> f -> g -> h -> j -> k)
-> a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> k
(-.::::.)

infixr 8 -.********