fresnel-0.1.0.0: high-powered optics in a small package
Safe HaskellSafe-Inferred
LanguageHaskell2010

Fresnel.Bifunctor.Contravariant

Synopsis

Bicontravariant functors

class Bicontravariant (p :: Type -> Type -> Type) where Source #

Methods

contrabimap :: (a' -> a) -> (b' -> b) -> p a b -> p a' b' Source #

Instances

Instances details
Contravariant f => Bicontravariant (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Profunctor.OptionalStar

Methods

contrabimap :: (a' -> a) -> (b' -> b) -> OptionalStar f a b -> OptionalStar f a' b' Source #

Contravariant f => Bicontravariant (Star1 f) Source # 
Instance details

Defined in Fresnel.Profunctor.Star1

Methods

contrabimap :: (a' -> a) -> (b' -> b) -> Star1 f a b -> Star1 f a' b' Source #

Contravariant m => Bicontravariant (Kleisli m) Source # 
Instance details

Defined in Fresnel.Bifunctor.Contravariant

Methods

contrabimap :: (a' -> a) -> (b' -> b) -> Kleisli m a b -> Kleisli m a' b' Source #

Bicontravariant (Forget r :: Type -> Type -> Type) Source # 
Instance details

Defined in Fresnel.Bifunctor.Contravariant

Methods

contrabimap :: (a' -> a) -> (b' -> b) -> Forget r a b -> Forget r a' b' Source #

Contravariant f => Bicontravariant (Star f) Source # 
Instance details

Defined in Fresnel.Bifunctor.Contravariant

Methods

contrabimap :: (a' -> a) -> (b' -> b) -> Star f a b -> Star f a' b' Source #

contrafirst :: Bicontravariant p => (a' -> a) -> p a b -> p a' b Source #

contrasecond :: Bicontravariant p => (b' -> b) -> p a b -> p a b' Source #

Phantom parameters

rphantom :: (Profunctor p, Bicontravariant p) => p a b -> p a c Source #

biphantom :: (Bifunctor p, Bicontravariant p) => p a b -> p c d Source #