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

Fresnel.Profunctor.OptionalStar

Synopsis

Optional star profunctors

newtype OptionalStar (f :: Type -> Type) a b Source #

Constructors

OptionalStar 

Fields

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, Apply f, Traversable f) => IsFold1 (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Fold1.Internal

(Contravariant f, Traversable f) => IsGetter (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Getter.Internal

Functor f => IsIso (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Iso.Internal

Functor f => IsLens (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Lens.Internal

Functor f => IsOptional (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Optional.Internal

(Traversable f, Contravariant f) => IsOptionalFold (OptionalStar f) Source # 
Instance details

Defined in Fresnel.OptionalFold.Internal

Functor f => IsPrism (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Prism.Internal

Apply f => Traversing1 (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Profunctor.Traversing1

Methods

wander1 :: (forall (f0 :: Type -> Type). Apply f0 => (a -> f0 b) -> s -> f0 t) -> OptionalStar f a b -> OptionalStar f s t Source #

Apply f => IsTraversal1 (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Traversal1.Internal

Functor f => Choice (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Profunctor.OptionalStar

Methods

left' :: OptionalStar f a b -> OptionalStar f (Either a c) (Either b c) #

right' :: OptionalStar f a b -> OptionalStar f (Either c a) (Either c b) #

Traversable f => Cochoice (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Profunctor.OptionalStar

Methods

unleft :: OptionalStar f (Either a d) (Either b d) -> OptionalStar f a b #

unright :: OptionalStar f (Either d a) (Either d b) -> OptionalStar f a b #

Functor f => Strong (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Profunctor.OptionalStar

Methods

first' :: OptionalStar f a b -> OptionalStar f (a, c) (b, c) #

second' :: OptionalStar f a b -> OptionalStar f (c, a) (c, b) #

Functor f => Profunctor (OptionalStar f) Source # 
Instance details

Defined in Fresnel.Profunctor.OptionalStar

Methods

dimap :: (a -> b) -> (c -> d) -> OptionalStar f b c -> OptionalStar f a d #

lmap :: (a -> b) -> OptionalStar f b c -> OptionalStar f a c #

rmap :: (b -> c) -> OptionalStar f a b -> OptionalStar f a c #

(#.) :: forall a b c q. Coercible c b => q b c -> OptionalStar f a b -> OptionalStar f a c #

(.#) :: forall a b c q. Coercible b a => OptionalStar f b c -> q a b -> OptionalStar f a c #

Construction

optionalStar :: (forall x. x -> f x) -> (a -> f b) -> OptionalStar f a b Source #

Elimination

runOptionalStar :: OptionalStar f a b -> a -> f b Source #

Computation

mapOptionalStar :: ((a -> f b) -> c -> f d) -> OptionalStar f a b -> OptionalStar f c d Source #