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

Fresnel.Profunctor.Star1

Synopsis

Star1 profunctor

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

Just like Star, but with some instances defined in terms of Apply instead of Applicative. Used by Traversal1 & Fold1.

Constructors

Star1 

Fields

Instances

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

Defined in Fresnel.Fold1.Internal

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

Defined in Fresnel.Getter.Internal

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

Defined in Fresnel.Iso.Internal

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

Defined in Fresnel.Lens.Internal

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

Defined in Fresnel.Profunctor.Star1

Methods

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

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

Defined in Fresnel.Traversal1.Internal

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

Defined in Fresnel.Profunctor.Star1

Methods

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

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

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

Defined in Fresnel.Profunctor.Star1

Methods

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

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

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

Defined in Fresnel.Profunctor.Star1

Methods

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

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

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

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

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