composition-extra-1.2.0: src/Data/Functor/Contravariant/Syntax.hs
module Data.Functor.Contravariant.Syntax where
import Data.Functor.Contravariant
(<-$>) :: Contravariant f =>
(a -> b)
-> f b
-> f a
(<-$>) = contramap
infixr 8 <-$>
(<-$$>) :: (Contravariant f0, Contravariant f1) =>
(a -> b)
-> f1 (f0 a)
-> f1 (f0 b)
(<-$$>) = contramap . contramap
infixr 8 <-$$>
(<-$$$>) :: (Contravariant f0, Contravariant f1, Contravariant f2) =>
(a -> b)
-> f2 (f1 (f0 b))
-> f2 (f1 (f0 a))
(<-$$$>) = contramap . contramap . contramap
infixr 8 <-$$$>
(<-$$$$>) :: (Contravariant f0, Contravariant f1, Contravariant f2, Contravariant f3) =>
(a -> b)
-> f3 (f2 (f1 (f0 a)))
-> f3 (f2 (f1 (f0 b)))
(<-$$$$>) = contramap . contramap . contramap . contramap
infixr 8 <-$$$$>
(<-$$$$$>) :: (Contravariant f0, Contravariant f1, Contravariant f2, Contravariant f3, Contravariant f4) =>
(a -> b)
-> f4 (f3 (f2 (f1 (f0 b))))
-> f4 (f3 (f2 (f1 (f0 a))))
(<-$$$$$>) = contramap . contramap . contramap . contramap . contramap
infixr 8 <-$$$$$>