Safe Haskell | None |
---|---|
Language | Haskell2010 |
Definitions of concrete profunctors and profunctor classes.
This module is intended for internal use only, and may change without warning in subsequent releases.
Synopsis
- newtype Star f i a b = Star {
- runStar :: a -> f b
- newtype Forget r i a b = Forget {
- runForget :: a -> r
- newtype ForgetM r i a b = ForgetM {
- runForgetM :: a -> Maybe r
- newtype FunArrow i a b = FunArrow {
- runFunArrow :: a -> b
- newtype IxStar f i a b = IxStar {
- runIxStar :: i -> a -> f b
- newtype IxForget r i a b = IxForget {
- runIxForget :: i -> a -> r
- newtype IxForgetM r i a b = IxForgetM {
- runIxForgetM :: i -> a -> Maybe r
- newtype IxFunArrow i a b = IxFunArrow {
- runIxFunArrow :: i -> a -> b
- data Identity' a = Identity' !() a
- wrapIdentity' :: a -> Identity' a
- unwrapIdentity' :: Identity' a -> a
- data StarA f i a b = StarA (forall r. r -> f r) (a -> f b)
- runStarA :: StarA f i a b -> a -> f b
- data IxStarA f i a b = IxStarA (forall r. r -> f r) (i -> a -> f b)
- runIxStarA :: IxStarA f i a b -> i -> a -> f b
- reStar :: Star f i a b -> Star f j a b
- reForget :: Forget r i a b -> Forget r j a b
- reFunArrow :: FunArrow i a b -> FunArrow j a b
- class Profunctor p where
- dimap :: (a -> b) -> (c -> d) -> p i b c -> p i a d
- lmap :: (a -> b) -> p i b c -> p i a c
- rmap :: (c -> d) -> p i b c -> p i b d
- lcoerce' :: Coercible a b => p i a c -> p i b c
- rcoerce' :: Coercible a b => p i c a -> p i c b
- conjoined__ :: (p i a b -> p i s t) -> (p i a b -> p j s t) -> p i a b -> p j s t
- ixcontramap :: (j -> i) -> p i a b -> p j a b
- rcoerce :: (Coercible a b, Profunctor p) => p i c a -> p i c b
- lcoerce :: (Coercible a b, Profunctor p) => p i a c -> p i b c
- class Profunctor p => Strong p where
- class Profunctor p => Costrong p where
- class Profunctor p => Choice p where
- class Profunctor p => Cochoice p where
- class (Choice p, Strong p) => Visiting p where
- class Visiting p => Traversing p where
- wander :: (forall f. Applicative f => (a -> f b) -> s -> f t) -> p i a b -> p i s t
- iwander :: (forall f. Applicative f => (i -> a -> f b) -> s -> f t) -> p j a b -> p (i -> j) s t
- class Traversing p => Mapping p where
Documentation
Needed for traversals.
Instances
Mapping (Star Identity') Source # | |
Applicative f => Traversing (Star f) Source # | |
Applicative f => Visiting (Star f) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (a -> f0 b) -> s -> f0 t) -> Star f i a b -> Star f i s t Source # ivisit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (i -> a -> f0 b) -> s -> f0 t) -> Star f j a b -> Star f (i -> j) s t Source # | |
Applicative f => Choice (Star f) Source # | |
Functor f => Strong (Star f) Source # | |
Defined in Optics.Internal.Profunctor first' :: Star f i a b -> Star f i (a, c) (b, c) Source # second' :: Star f i a b -> Star f i (c, a) (c, b) Source # linear :: (forall (f0 :: Type -> Type). Functor f0 => (a -> f0 b) -> s -> f0 t) -> Star f i a b -> Star f i s t Source # ilinear :: (forall (f0 :: Type -> Type). Functor f0 => (i -> a -> f0 b) -> s -> f0 t) -> Star f j a b -> Star f (i -> j) s t Source # | |
Functor f => Profunctor (Star f) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> Star f i b c -> Star f i a d Source # lmap :: (a -> b) -> Star f i b c -> Star f i a c Source # rmap :: (c -> d) -> Star f i b c -> Star f i b d Source # lcoerce' :: Coercible a b => Star f i a c -> Star f i b c Source # rcoerce' :: Coercible a b => Star f i c a -> Star f i c b Source # conjoined__ :: (Star f i a b -> Star f i s t) -> (Star f i a b -> Star f j s t) -> Star f i a b -> Star f j s t Source # ixcontramap :: (j -> i) -> Star f i a b -> Star f j a b Source # |
newtype Forget r i a b Source #
Needed for getters and folds.
Instances
Monoid r => Traversing (Forget r) Source # | |
Monoid r => Visiting (Forget r) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (a -> f b) -> s -> f t) -> Forget r i a b -> Forget r i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (i -> a -> f b) -> s -> f t) -> Forget r j a b -> Forget r (i -> j) s t Source # | |
Cochoice (Forget r) Source # | |
Monoid r => Choice (Forget r) Source # | |
Strong (Forget r) Source # | |
Defined in Optics.Internal.Profunctor first' :: Forget r i a b -> Forget r i (a, c) (b, c) Source # second' :: Forget r i a b -> Forget r i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> Forget r i a b -> Forget r i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> Forget r j a b -> Forget r (i -> j) s t Source # | |
Profunctor (Forget r) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> Forget r i b c -> Forget r i a d Source # lmap :: (a -> b) -> Forget r i b c -> Forget r i a c Source # rmap :: (c -> d) -> Forget r i b c -> Forget r i b d Source # lcoerce' :: Coercible a b => Forget r i a c -> Forget r i b c Source # rcoerce' :: Coercible a b => Forget r i c a -> Forget r i c b Source # conjoined__ :: (Forget r i a b -> Forget r i s t) -> (Forget r i a b -> Forget r j s t) -> Forget r i a b -> Forget r j s t Source # ixcontramap :: (j -> i) -> Forget r i a b -> Forget r j a b Source # | |
Bicontravariant (Forget r) Source # | |
Defined in Optics.Internal.Bi contrabimap :: (b -> a) -> (d -> c) -> Forget r i a c -> Forget r i b d Source # contrafirst :: (b -> a) -> Forget r i a c -> Forget r i b c Source # contrasecond :: (c -> b) -> Forget r i a b -> Forget r i a c Source # |
newtype ForgetM r i a b Source #
Needed for affine folds.
ForgetM | |
|
Instances
Visiting (ForgetM r) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (a -> f b) -> s -> f t) -> ForgetM r i a b -> ForgetM r i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (i -> a -> f b) -> s -> f t) -> ForgetM r j a b -> ForgetM r (i -> j) s t Source # | |
Cochoice (ForgetM r) Source # | |
Choice (ForgetM r) Source # | |
Strong (ForgetM r) Source # | |
Defined in Optics.Internal.Profunctor first' :: ForgetM r i a b -> ForgetM r i (a, c) (b, c) Source # second' :: ForgetM r i a b -> ForgetM r i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> ForgetM r i a b -> ForgetM r i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> ForgetM r j a b -> ForgetM r (i -> j) s t Source # | |
Profunctor (ForgetM r) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> ForgetM r i b c -> ForgetM r i a d Source # lmap :: (a -> b) -> ForgetM r i b c -> ForgetM r i a c Source # rmap :: (c -> d) -> ForgetM r i b c -> ForgetM r i b d Source # lcoerce' :: Coercible a b => ForgetM r i a c -> ForgetM r i b c Source # rcoerce' :: Coercible a b => ForgetM r i c a -> ForgetM r i c b Source # conjoined__ :: (ForgetM r i a b -> ForgetM r i s t) -> (ForgetM r i a b -> ForgetM r j s t) -> ForgetM r i a b -> ForgetM r j s t Source # ixcontramap :: (j -> i) -> ForgetM r i a b -> ForgetM r j a b Source # | |
Bicontravariant (ForgetM r) Source # | |
Defined in Optics.Internal.Bi contrabimap :: (b -> a) -> (d -> c) -> ForgetM r i a c -> ForgetM r i b d Source # contrafirst :: (b -> a) -> ForgetM r i a c -> ForgetM r i b c Source # contrasecond :: (c -> b) -> ForgetM r i a b -> ForgetM r i a c Source # |
newtype FunArrow i a b Source #
Needed for setters.
FunArrow | |
|
Instances
newtype IxStar f i a b Source #
Needed for indexed traversals.
Instances
Mapping (IxStar Identity') Source # | |
Applicative f => Traversing (IxStar f) Source # | |
Defined in Optics.Internal.Profunctor | |
Applicative f => Visiting (IxStar f) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (a -> f0 b) -> s -> f0 t) -> IxStar f i a b -> IxStar f i s t Source # ivisit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (i -> a -> f0 b) -> s -> f0 t) -> IxStar f j a b -> IxStar f (i -> j) s t Source # | |
Applicative f => Choice (IxStar f) Source # | |
Functor f => Strong (IxStar f) Source # | |
Defined in Optics.Internal.Profunctor first' :: IxStar f i a b -> IxStar f i (a, c) (b, c) Source # second' :: IxStar f i a b -> IxStar f i (c, a) (c, b) Source # linear :: (forall (f0 :: Type -> Type). Functor f0 => (a -> f0 b) -> s -> f0 t) -> IxStar f i a b -> IxStar f i s t Source # ilinear :: (forall (f0 :: Type -> Type). Functor f0 => (i -> a -> f0 b) -> s -> f0 t) -> IxStar f j a b -> IxStar f (i -> j) s t Source # | |
Functor f => Profunctor (IxStar f) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> IxStar f i b c -> IxStar f i a d Source # lmap :: (a -> b) -> IxStar f i b c -> IxStar f i a c Source # rmap :: (c -> d) -> IxStar f i b c -> IxStar f i b d Source # lcoerce' :: Coercible a b => IxStar f i a c -> IxStar f i b c Source # rcoerce' :: Coercible a b => IxStar f i c a -> IxStar f i c b Source # conjoined__ :: (IxStar f i a b -> IxStar f i s t) -> (IxStar f i a b -> IxStar f j s t) -> IxStar f i a b -> IxStar f j s t Source # ixcontramap :: (j -> i) -> IxStar f i a b -> IxStar f j a b Source # |
newtype IxForget r i a b Source #
Needed for indexed folds.
IxForget | |
|
Instances
Monoid r => Traversing (IxForget r) Source # | |
Defined in Optics.Internal.Profunctor | |
Monoid r => Visiting (IxForget r) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (a -> f b) -> s -> f t) -> IxForget r i a b -> IxForget r i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (i -> a -> f b) -> s -> f t) -> IxForget r j a b -> IxForget r (i -> j) s t Source # | |
Cochoice (IxForget r) Source # | |
Monoid r => Choice (IxForget r) Source # | |
Strong (IxForget r) Source # | |
Defined in Optics.Internal.Profunctor first' :: IxForget r i a b -> IxForget r i (a, c) (b, c) Source # second' :: IxForget r i a b -> IxForget r i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> IxForget r i a b -> IxForget r i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> IxForget r j a b -> IxForget r (i -> j) s t Source # | |
Profunctor (IxForget r) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> IxForget r i b c -> IxForget r i a d Source # lmap :: (a -> b) -> IxForget r i b c -> IxForget r i a c Source # rmap :: (c -> d) -> IxForget r i b c -> IxForget r i b d Source # lcoerce' :: Coercible a b => IxForget r i a c -> IxForget r i b c Source # rcoerce' :: Coercible a b => IxForget r i c a -> IxForget r i c b Source # conjoined__ :: (IxForget r i a b -> IxForget r i s t) -> (IxForget r i a b -> IxForget r j s t) -> IxForget r i a b -> IxForget r j s t Source # ixcontramap :: (j -> i) -> IxForget r i a b -> IxForget r j a b Source # | |
Bicontravariant (IxForget r) Source # | |
Defined in Optics.Internal.Bi contrabimap :: (b -> a) -> (d -> c) -> IxForget r i a c -> IxForget r i b d Source # contrafirst :: (b -> a) -> IxForget r i a c -> IxForget r i b c Source # contrasecond :: (c -> b) -> IxForget r i a b -> IxForget r i a c Source # |
newtype IxForgetM r i a b Source #
Needed for indexed affine folds.
IxForgetM | |
|
Instances
Visiting (IxForgetM r) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (a -> f b) -> s -> f t) -> IxForgetM r i a b -> IxForgetM r i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (i -> a -> f b) -> s -> f t) -> IxForgetM r j a b -> IxForgetM r (i -> j) s t Source # | |
Cochoice (IxForgetM r) Source # | |
Choice (IxForgetM r) Source # | |
Strong (IxForgetM r) Source # | |
Defined in Optics.Internal.Profunctor first' :: IxForgetM r i a b -> IxForgetM r i (a, c) (b, c) Source # second' :: IxForgetM r i a b -> IxForgetM r i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> IxForgetM r i a b -> IxForgetM r i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> IxForgetM r j a b -> IxForgetM r (i -> j) s t Source # | |
Profunctor (IxForgetM r) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> IxForgetM r i b c -> IxForgetM r i a d Source # lmap :: (a -> b) -> IxForgetM r i b c -> IxForgetM r i a c Source # rmap :: (c -> d) -> IxForgetM r i b c -> IxForgetM r i b d Source # lcoerce' :: Coercible a b => IxForgetM r i a c -> IxForgetM r i b c Source # rcoerce' :: Coercible a b => IxForgetM r i c a -> IxForgetM r i c b Source # conjoined__ :: (IxForgetM r i a b -> IxForgetM r i s t) -> (IxForgetM r i a b -> IxForgetM r j s t) -> IxForgetM r i a b -> IxForgetM r j s t Source # ixcontramap :: (j -> i) -> IxForgetM r i a b -> IxForgetM r j a b Source # | |
Bicontravariant (IxForgetM r) Source # | |
Defined in Optics.Internal.Bi contrabimap :: (b -> a) -> (d -> c) -> IxForgetM r i a c -> IxForgetM r i b d Source # contrafirst :: (b -> a) -> IxForgetM r i a c -> IxForgetM r i b c Source # contrasecond :: (c -> b) -> IxForgetM r i a b -> IxForgetM r i a c Source # |
newtype IxFunArrow i a b Source #
Needed for indexed setters.
IxFunArrow | |
|
Instances
Mapping IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor roam :: ((a -> b) -> s -> t) -> IxFunArrow i a b -> IxFunArrow i s t Source # iroam :: ((i -> a -> b) -> s -> t) -> IxFunArrow j a b -> IxFunArrow (i -> j) s t Source # | |
Traversing IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor wander :: (forall (f :: Type -> Type). Applicative f => (a -> f b) -> s -> f t) -> IxFunArrow i a b -> IxFunArrow i s t Source # iwander :: (forall (f :: Type -> Type). Applicative f => (i -> a -> f b) -> s -> f t) -> IxFunArrow j a b -> IxFunArrow (i -> j) s t Source # | |
Visiting IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (a -> f b) -> s -> f t) -> IxFunArrow i a b -> IxFunArrow i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (i -> a -> f b) -> s -> f t) -> IxFunArrow j a b -> IxFunArrow (i -> j) s t Source # | |
Choice IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor left' :: IxFunArrow i a b -> IxFunArrow i (Either a c) (Either b c) Source # right' :: IxFunArrow i a b -> IxFunArrow i (Either c a) (Either c b) Source # | |
Strong IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor first' :: IxFunArrow i a b -> IxFunArrow i (a, c) (b, c) Source # second' :: IxFunArrow i a b -> IxFunArrow i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> IxFunArrow i a b -> IxFunArrow i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> IxFunArrow j a b -> IxFunArrow (i -> j) s t Source # | |
Profunctor IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> IxFunArrow i b c -> IxFunArrow i a d Source # lmap :: (a -> b) -> IxFunArrow i b c -> IxFunArrow i a c Source # rmap :: (c -> d) -> IxFunArrow i b c -> IxFunArrow i b d Source # lcoerce' :: Coercible a b => IxFunArrow i a c -> IxFunArrow i b c Source # rcoerce' :: Coercible a b => IxFunArrow i c a -> IxFunArrow i c b Source # conjoined__ :: (IxFunArrow i a b -> IxFunArrow i s t) -> (IxFunArrow i a b -> IxFunArrow j s t) -> IxFunArrow i a b -> IxFunArrow j s t Source # ixcontramap :: (j -> i) -> IxFunArrow i a b -> IxFunArrow j a b Source # |
Identity' !() a |
wrapIdentity' :: a -> Identity' a Source #
Mark a value for evaluation to whnf.
This allows us to, when applying a setter to a structure, evaluate only the parts that we modify. If an optic focuses on multiple targets, Applicative instance of Identity' makes sure that we force evaluation of all of them, but we leave anything else alone.
unwrapIdentity' :: Identity' a -> a Source #
Needed for conversion of affine traversal back to its VL representation.
StarA (forall r. r -> f r) (a -> f b) |
Instances
Functor f => Visiting (StarA f) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (a -> f0 b) -> s -> f0 t) -> StarA f i a b -> StarA f i s t Source # ivisit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (i -> a -> f0 b) -> s -> f0 t) -> StarA f j a b -> StarA f (i -> j) s t Source # | |
Functor f => Choice (StarA f) Source # | |
Functor f => Strong (StarA f) Source # | |
Defined in Optics.Internal.Profunctor first' :: StarA f i a b -> StarA f i (a, c) (b, c) Source # second' :: StarA f i a b -> StarA f i (c, a) (c, b) Source # linear :: (forall (f0 :: Type -> Type). Functor f0 => (a -> f0 b) -> s -> f0 t) -> StarA f i a b -> StarA f i s t Source # ilinear :: (forall (f0 :: Type -> Type). Functor f0 => (i -> a -> f0 b) -> s -> f0 t) -> StarA f j a b -> StarA f (i -> j) s t Source # | |
Functor f => Profunctor (StarA f) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> StarA f i b c -> StarA f i a d Source # lmap :: (a -> b) -> StarA f i b c -> StarA f i a c Source # rmap :: (c -> d) -> StarA f i b c -> StarA f i b d Source # lcoerce' :: Coercible a b => StarA f i a c -> StarA f i b c Source # rcoerce' :: Coercible a b => StarA f i c a -> StarA f i c b Source # conjoined__ :: (StarA f i a b -> StarA f i s t) -> (StarA f i a b -> StarA f j s t) -> StarA f i a b -> StarA f j s t Source # ixcontramap :: (j -> i) -> StarA f i a b -> StarA f j a b Source # |
Needed for conversion of indexed affine traversal back to its VL representation.
IxStarA (forall r. r -> f r) (i -> a -> f b) |
Instances
Functor f => Visiting (IxStarA f) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (a -> f0 b) -> s -> f0 t) -> IxStarA f i a b -> IxStarA f i s t Source # ivisit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (i -> a -> f0 b) -> s -> f0 t) -> IxStarA f j a b -> IxStarA f (i -> j) s t Source # | |
Functor f => Choice (IxStarA f) Source # | |
Functor f => Strong (IxStarA f) Source # | |
Defined in Optics.Internal.Profunctor first' :: IxStarA f i a b -> IxStarA f i (a, c) (b, c) Source # second' :: IxStarA f i a b -> IxStarA f i (c, a) (c, b) Source # linear :: (forall (f0 :: Type -> Type). Functor f0 => (a -> f0 b) -> s -> f0 t) -> IxStarA f i a b -> IxStarA f i s t Source # ilinear :: (forall (f0 :: Type -> Type). Functor f0 => (i -> a -> f0 b) -> s -> f0 t) -> IxStarA f j a b -> IxStarA f (i -> j) s t Source # | |
Functor f => Profunctor (IxStarA f) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> IxStarA f i b c -> IxStarA f i a d Source # lmap :: (a -> b) -> IxStarA f i b c -> IxStarA f i a c Source # rmap :: (c -> d) -> IxStarA f i b c -> IxStarA f i b d Source # lcoerce' :: Coercible a b => IxStarA f i a c -> IxStarA f i b c Source # rcoerce' :: Coercible a b => IxStarA f i c a -> IxStarA f i c b Source # conjoined__ :: (IxStarA f i a b -> IxStarA f i s t) -> (IxStarA f i a b -> IxStarA f j s t) -> IxStarA f i a b -> IxStarA f j s t Source # ixcontramap :: (j -> i) -> IxStarA f i a b -> IxStarA f j a b Source # |
runIxStarA :: IxStarA f i a b -> i -> a -> f b Source #
Unwrap StarA
.
class Profunctor p where Source #
dimap :: (a -> b) -> (c -> d) -> p i b c -> p i a d Source #
lmap :: (a -> b) -> p i b c -> p i a c Source #
rmap :: (c -> d) -> p i b c -> p i b d Source #
lcoerce' :: Coercible a b => p i a c -> p i b c Source #
lcoerce' :: Coercible (p i a c) (p i b c) => p i a c -> p i b c Source #
rcoerce' :: Coercible a b => p i c a -> p i c b Source #
rcoerce' :: Coercible (p i c a) (p i c b) => p i c a -> p i c b Source #
conjoined__ :: (p i a b -> p i s t) -> (p i a b -> p j s t) -> p i a b -> p j s t Source #
conjoined__ :: Coercible (p i s t) (p j s t) => (p i a b -> p i s t) -> (p i a b -> p j s t) -> p i a b -> p j s t Source #
ixcontramap :: (j -> i) -> p i a b -> p j a b Source #
ixcontramap :: Coercible (p i a b) (p j a b) => (j -> i) -> p i a b -> p j a b Source #
Instances
Profunctor IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> IxFunArrow i b c -> IxFunArrow i a d Source # lmap :: (a -> b) -> IxFunArrow i b c -> IxFunArrow i a c Source # rmap :: (c -> d) -> IxFunArrow i b c -> IxFunArrow i b d Source # lcoerce' :: Coercible a b => IxFunArrow i a c -> IxFunArrow i b c Source # rcoerce' :: Coercible a b => IxFunArrow i c a -> IxFunArrow i c b Source # conjoined__ :: (IxFunArrow i a b -> IxFunArrow i s t) -> (IxFunArrow i a b -> IxFunArrow j s t) -> IxFunArrow i a b -> IxFunArrow j s t Source # ixcontramap :: (j -> i) -> IxFunArrow i a b -> IxFunArrow j a b Source # | |
Profunctor FunArrow Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> FunArrow i b c -> FunArrow i a d Source # lmap :: (a -> b) -> FunArrow i b c -> FunArrow i a c Source # rmap :: (c -> d) -> FunArrow i b c -> FunArrow i b d Source # lcoerce' :: Coercible a b => FunArrow i a c -> FunArrow i b c Source # rcoerce' :: Coercible a b => FunArrow i c a -> FunArrow i c b Source # conjoined__ :: (FunArrow i a b -> FunArrow i s t) -> (FunArrow i a b -> FunArrow j s t) -> FunArrow i a b -> FunArrow j s t Source # ixcontramap :: (j -> i) -> FunArrow i a b -> FunArrow j a b Source # | |
Profunctor Tagged Source # | |
Defined in Optics.Internal.Tagged dimap :: (a -> b) -> (c -> d) -> Tagged i b c -> Tagged i a d Source # lmap :: (a -> b) -> Tagged i b c -> Tagged i a c Source # rmap :: (c -> d) -> Tagged i b c -> Tagged i b d Source # lcoerce' :: Coercible a b => Tagged i a c -> Tagged i b c Source # rcoerce' :: Coercible a b => Tagged i c a -> Tagged i c b Source # conjoined__ :: (Tagged i a b -> Tagged i s t) -> (Tagged i a b -> Tagged j s t) -> Tagged i a b -> Tagged j s t Source # ixcontramap :: (j -> i) -> Tagged i a b -> Tagged j a b Source # | |
Functor f => Profunctor (IxStarA f) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> IxStarA f i b c -> IxStarA f i a d Source # lmap :: (a -> b) -> IxStarA f i b c -> IxStarA f i a c Source # rmap :: (c -> d) -> IxStarA f i b c -> IxStarA f i b d Source # lcoerce' :: Coercible a b => IxStarA f i a c -> IxStarA f i b c Source # rcoerce' :: Coercible a b => IxStarA f i c a -> IxStarA f i c b Source # conjoined__ :: (IxStarA f i a b -> IxStarA f i s t) -> (IxStarA f i a b -> IxStarA f j s t) -> IxStarA f i a b -> IxStarA f j s t Source # ixcontramap :: (j -> i) -> IxStarA f i a b -> IxStarA f j a b Source # | |
Functor f => Profunctor (StarA f) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> StarA f i b c -> StarA f i a d Source # lmap :: (a -> b) -> StarA f i b c -> StarA f i a c Source # rmap :: (c -> d) -> StarA f i b c -> StarA f i b d Source # lcoerce' :: Coercible a b => StarA f i a c -> StarA f i b c Source # rcoerce' :: Coercible a b => StarA f i c a -> StarA f i c b Source # conjoined__ :: (StarA f i a b -> StarA f i s t) -> (StarA f i a b -> StarA f j s t) -> StarA f i a b -> StarA f j s t Source # ixcontramap :: (j -> i) -> StarA f i a b -> StarA f j a b Source # | |
Profunctor (IxForgetM r) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> IxForgetM r i b c -> IxForgetM r i a d Source # lmap :: (a -> b) -> IxForgetM r i b c -> IxForgetM r i a c Source # rmap :: (c -> d) -> IxForgetM r i b c -> IxForgetM r i b d Source # lcoerce' :: Coercible a b => IxForgetM r i a c -> IxForgetM r i b c Source # rcoerce' :: Coercible a b => IxForgetM r i c a -> IxForgetM r i c b Source # conjoined__ :: (IxForgetM r i a b -> IxForgetM r i s t) -> (IxForgetM r i a b -> IxForgetM r j s t) -> IxForgetM r i a b -> IxForgetM r j s t Source # ixcontramap :: (j -> i) -> IxForgetM r i a b -> IxForgetM r j a b Source # | |
Profunctor (IxForget r) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> IxForget r i b c -> IxForget r i a d Source # lmap :: (a -> b) -> IxForget r i b c -> IxForget r i a c Source # rmap :: (c -> d) -> IxForget r i b c -> IxForget r i b d Source # lcoerce' :: Coercible a b => IxForget r i a c -> IxForget r i b c Source # rcoerce' :: Coercible a b => IxForget r i c a -> IxForget r i c b Source # conjoined__ :: (IxForget r i a b -> IxForget r i s t) -> (IxForget r i a b -> IxForget r j s t) -> IxForget r i a b -> IxForget r j s t Source # ixcontramap :: (j -> i) -> IxForget r i a b -> IxForget r j a b Source # | |
Functor f => Profunctor (IxStar f) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> IxStar f i b c -> IxStar f i a d Source # lmap :: (a -> b) -> IxStar f i b c -> IxStar f i a c Source # rmap :: (c -> d) -> IxStar f i b c -> IxStar f i b d Source # lcoerce' :: Coercible a b => IxStar f i a c -> IxStar f i b c Source # rcoerce' :: Coercible a b => IxStar f i c a -> IxStar f i c b Source # conjoined__ :: (IxStar f i a b -> IxStar f i s t) -> (IxStar f i a b -> IxStar f j s t) -> IxStar f i a b -> IxStar f j s t Source # ixcontramap :: (j -> i) -> IxStar f i a b -> IxStar f j a b Source # | |
Profunctor (ForgetM r) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> ForgetM r i b c -> ForgetM r i a d Source # lmap :: (a -> b) -> ForgetM r i b c -> ForgetM r i a c Source # rmap :: (c -> d) -> ForgetM r i b c -> ForgetM r i b d Source # lcoerce' :: Coercible a b => ForgetM r i a c -> ForgetM r i b c Source # rcoerce' :: Coercible a b => ForgetM r i c a -> ForgetM r i c b Source # conjoined__ :: (ForgetM r i a b -> ForgetM r i s t) -> (ForgetM r i a b -> ForgetM r j s t) -> ForgetM r i a b -> ForgetM r j s t Source # ixcontramap :: (j -> i) -> ForgetM r i a b -> ForgetM r j a b Source # | |
Profunctor (Forget r) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> Forget r i b c -> Forget r i a d Source # lmap :: (a -> b) -> Forget r i b c -> Forget r i a c Source # rmap :: (c -> d) -> Forget r i b c -> Forget r i b d Source # lcoerce' :: Coercible a b => Forget r i a c -> Forget r i b c Source # rcoerce' :: Coercible a b => Forget r i c a -> Forget r i c b Source # conjoined__ :: (Forget r i a b -> Forget r i s t) -> (Forget r i a b -> Forget r j s t) -> Forget r i a b -> Forget r j s t Source # ixcontramap :: (j -> i) -> Forget r i a b -> Forget r j a b Source # | |
Functor f => Profunctor (Star f) Source # | |
Defined in Optics.Internal.Profunctor dimap :: (a -> b) -> (c -> d) -> Star f i b c -> Star f i a d Source # lmap :: (a -> b) -> Star f i b c -> Star f i a c Source # rmap :: (c -> d) -> Star f i b c -> Star f i b d Source # lcoerce' :: Coercible a b => Star f i a c -> Star f i b c Source # rcoerce' :: Coercible a b => Star f i c a -> Star f i c b Source # conjoined__ :: (Star f i a b -> Star f i s t) -> (Star f i a b -> Star f j s t) -> Star f i a b -> Star f j s t Source # ixcontramap :: (j -> i) -> Star f i a b -> Star f j a b Source # | |
Profunctor (AffineMarket a b) Source # | |
Defined in Optics.Internal.Concrete dimap :: (a0 -> b0) -> (c -> d) -> AffineMarket a b i b0 c -> AffineMarket a b i a0 d Source # lmap :: (a0 -> b0) -> AffineMarket a b i b0 c -> AffineMarket a b i a0 c Source # rmap :: (c -> d) -> AffineMarket a b i b0 c -> AffineMarket a b i b0 d Source # lcoerce' :: Coercible a0 b0 => AffineMarket a b i a0 c -> AffineMarket a b i b0 c Source # rcoerce' :: Coercible a0 b0 => AffineMarket a b i c a0 -> AffineMarket a b i c b0 Source # conjoined__ :: (AffineMarket a b i a0 b0 -> AffineMarket a b i s t) -> (AffineMarket a b i a0 b0 -> AffineMarket a b j s t) -> AffineMarket a b i a0 b0 -> AffineMarket a b j s t Source # ixcontramap :: (j -> i) -> AffineMarket a b i a0 b0 -> AffineMarket a b j a0 b0 Source # | |
Profunctor (Market a b) Source # | |
Defined in Optics.Internal.Concrete dimap :: (a0 -> b0) -> (c -> d) -> Market a b i b0 c -> Market a b i a0 d Source # lmap :: (a0 -> b0) -> Market a b i b0 c -> Market a b i a0 c Source # rmap :: (c -> d) -> Market a b i b0 c -> Market a b i b0 d Source # lcoerce' :: Coercible a0 b0 => Market a b i a0 c -> Market a b i b0 c Source # rcoerce' :: Coercible a0 b0 => Market a b i c a0 -> Market a b i c b0 Source # conjoined__ :: (Market a b i a0 b0 -> Market a b i s t) -> (Market a b i a0 b0 -> Market a b j s t) -> Market a b i a0 b0 -> Market a b j s t Source # ixcontramap :: (j -> i) -> Market a b i a0 b0 -> Market a b j a0 b0 Source # | |
Profunctor (Store a b) Source # | |
Defined in Optics.Internal.Concrete dimap :: (a0 -> b0) -> (c -> d) -> Store a b i b0 c -> Store a b i a0 d Source # lmap :: (a0 -> b0) -> Store a b i b0 c -> Store a b i a0 c Source # rmap :: (c -> d) -> Store a b i b0 c -> Store a b i b0 d Source # lcoerce' :: Coercible a0 b0 => Store a b i a0 c -> Store a b i b0 c Source # rcoerce' :: Coercible a0 b0 => Store a b i c a0 -> Store a b i c b0 Source # conjoined__ :: (Store a b i a0 b0 -> Store a b i s t) -> (Store a b i a0 b0 -> Store a b j s t) -> Store a b i a0 b0 -> Store a b j s t Source # ixcontramap :: (j -> i) -> Store a b i a0 b0 -> Store a b j a0 b0 Source # | |
Profunctor (Exchange a b) Source # | |
Defined in Optics.Internal.Concrete dimap :: (a0 -> b0) -> (c -> d) -> Exchange a b i b0 c -> Exchange a b i a0 d Source # lmap :: (a0 -> b0) -> Exchange a b i b0 c -> Exchange a b i a0 c Source # rmap :: (c -> d) -> Exchange a b i b0 c -> Exchange a b i b0 d Source # lcoerce' :: Coercible a0 b0 => Exchange a b i a0 c -> Exchange a b i b0 c Source # rcoerce' :: Coercible a0 b0 => Exchange a b i c a0 -> Exchange a b i c b0 Source # conjoined__ :: (Exchange a b i a0 b0 -> Exchange a b i s t) -> (Exchange a b i a0 b0 -> Exchange a b j s t) -> Exchange a b i a0 b0 -> Exchange a b j s t Source # ixcontramap :: (j -> i) -> Exchange a b i a0 b0 -> Exchange a b j a0 b0 Source # |
rcoerce :: (Coercible a b, Profunctor p) => p i c a -> p i c b Source #
rcoerce'
with type arguments rearranged for TypeApplications.
lcoerce :: (Coercible a b, Profunctor p) => p i a c -> p i b c Source #
lcoerce'
with type arguments rearranged for TypeApplications.
class Profunctor p => Strong p where Source #
first' :: p i a b -> p i (a, c) (b, c) Source #
second' :: p i a b -> p i (c, a) (c, b) Source #
linear :: (forall f. Functor f => (a -> f b) -> s -> f t) -> p i a b -> p i s t Source #
ilinear :: (forall f. Functor f => (i -> a -> f b) -> s -> f t) -> p j a b -> p (i -> j) s t Source #
ilinear :: Coercible (p j s t) (p (i -> j) s t) => (forall f. Functor f => (i -> a -> f b) -> s -> f t) -> p j a b -> p (i -> j) s t Source #
Instances
Strong IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor first' :: IxFunArrow i a b -> IxFunArrow i (a, c) (b, c) Source # second' :: IxFunArrow i a b -> IxFunArrow i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> IxFunArrow i a b -> IxFunArrow i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> IxFunArrow j a b -> IxFunArrow (i -> j) s t Source # | |
Strong FunArrow Source # | |
Defined in Optics.Internal.Profunctor first' :: FunArrow i a b -> FunArrow i (a, c) (b, c) Source # second' :: FunArrow i a b -> FunArrow i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> FunArrow i a b -> FunArrow i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> FunArrow j a b -> FunArrow (i -> j) s t Source # | |
Functor f => Strong (IxStarA f) Source # | |
Defined in Optics.Internal.Profunctor first' :: IxStarA f i a b -> IxStarA f i (a, c) (b, c) Source # second' :: IxStarA f i a b -> IxStarA f i (c, a) (c, b) Source # linear :: (forall (f0 :: Type -> Type). Functor f0 => (a -> f0 b) -> s -> f0 t) -> IxStarA f i a b -> IxStarA f i s t Source # ilinear :: (forall (f0 :: Type -> Type). Functor f0 => (i -> a -> f0 b) -> s -> f0 t) -> IxStarA f j a b -> IxStarA f (i -> j) s t Source # | |
Functor f => Strong (StarA f) Source # | |
Defined in Optics.Internal.Profunctor first' :: StarA f i a b -> StarA f i (a, c) (b, c) Source # second' :: StarA f i a b -> StarA f i (c, a) (c, b) Source # linear :: (forall (f0 :: Type -> Type). Functor f0 => (a -> f0 b) -> s -> f0 t) -> StarA f i a b -> StarA f i s t Source # ilinear :: (forall (f0 :: Type -> Type). Functor f0 => (i -> a -> f0 b) -> s -> f0 t) -> StarA f j a b -> StarA f (i -> j) s t Source # | |
Strong (IxForgetM r) Source # | |
Defined in Optics.Internal.Profunctor first' :: IxForgetM r i a b -> IxForgetM r i (a, c) (b, c) Source # second' :: IxForgetM r i a b -> IxForgetM r i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> IxForgetM r i a b -> IxForgetM r i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> IxForgetM r j a b -> IxForgetM r (i -> j) s t Source # | |
Strong (IxForget r) Source # | |
Defined in Optics.Internal.Profunctor first' :: IxForget r i a b -> IxForget r i (a, c) (b, c) Source # second' :: IxForget r i a b -> IxForget r i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> IxForget r i a b -> IxForget r i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> IxForget r j a b -> IxForget r (i -> j) s t Source # | |
Functor f => Strong (IxStar f) Source # | |
Defined in Optics.Internal.Profunctor first' :: IxStar f i a b -> IxStar f i (a, c) (b, c) Source # second' :: IxStar f i a b -> IxStar f i (c, a) (c, b) Source # linear :: (forall (f0 :: Type -> Type). Functor f0 => (a -> f0 b) -> s -> f0 t) -> IxStar f i a b -> IxStar f i s t Source # ilinear :: (forall (f0 :: Type -> Type). Functor f0 => (i -> a -> f0 b) -> s -> f0 t) -> IxStar f j a b -> IxStar f (i -> j) s t Source # | |
Strong (ForgetM r) Source # | |
Defined in Optics.Internal.Profunctor first' :: ForgetM r i a b -> ForgetM r i (a, c) (b, c) Source # second' :: ForgetM r i a b -> ForgetM r i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> ForgetM r i a b -> ForgetM r i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> ForgetM r j a b -> ForgetM r (i -> j) s t Source # | |
Strong (Forget r) Source # | |
Defined in Optics.Internal.Profunctor first' :: Forget r i a b -> Forget r i (a, c) (b, c) Source # second' :: Forget r i a b -> Forget r i (c, a) (c, b) Source # linear :: (forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t) -> Forget r i a b -> Forget r i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a -> f b) -> s -> f t) -> Forget r j a b -> Forget r (i -> j) s t Source # | |
Functor f => Strong (Star f) Source # | |
Defined in Optics.Internal.Profunctor first' :: Star f i a b -> Star f i (a, c) (b, c) Source # second' :: Star f i a b -> Star f i (c, a) (c, b) Source # linear :: (forall (f0 :: Type -> Type). Functor f0 => (a -> f0 b) -> s -> f0 t) -> Star f i a b -> Star f i s t Source # ilinear :: (forall (f0 :: Type -> Type). Functor f0 => (i -> a -> f0 b) -> s -> f0 t) -> Star f j a b -> Star f (i -> j) s t Source # | |
Strong (AffineMarket a b) Source # | |
Defined in Optics.Internal.Concrete first' :: AffineMarket a b i a0 b0 -> AffineMarket a b i (a0, c) (b0, c) Source # second' :: AffineMarket a b i a0 b0 -> AffineMarket a b i (c, a0) (c, b0) Source # linear :: (forall (f :: Type -> Type). Functor f => (a0 -> f b0) -> s -> f t) -> AffineMarket a b i a0 b0 -> AffineMarket a b i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a0 -> f b0) -> s -> f t) -> AffineMarket a b j a0 b0 -> AffineMarket a b (i -> j) s t Source # | |
Strong (Store a b) Source # | |
Defined in Optics.Internal.Concrete first' :: Store a b i a0 b0 -> Store a b i (a0, c) (b0, c) Source # second' :: Store a b i a0 b0 -> Store a b i (c, a0) (c, b0) Source # linear :: (forall (f :: Type -> Type). Functor f => (a0 -> f b0) -> s -> f t) -> Store a b i a0 b0 -> Store a b i s t Source # ilinear :: (forall (f :: Type -> Type). Functor f => (i -> a0 -> f b0) -> s -> f t) -> Store a b j a0 b0 -> Store a b (i -> j) s t Source # |
class Profunctor p => Costrong p where Source #
class Profunctor p => Choice p where Source #
Instances
Choice IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor left' :: IxFunArrow i a b -> IxFunArrow i (Either a c) (Either b c) Source # right' :: IxFunArrow i a b -> IxFunArrow i (Either c a) (Either c b) Source # | |
Choice FunArrow Source # | |
Choice Tagged Source # | |
Functor f => Choice (IxStarA f) Source # | |
Functor f => Choice (StarA f) Source # | |
Choice (IxForgetM r) Source # | |
Monoid r => Choice (IxForget r) Source # | |
Applicative f => Choice (IxStar f) Source # | |
Choice (ForgetM r) Source # | |
Monoid r => Choice (Forget r) Source # | |
Applicative f => Choice (Star f) Source # | |
Choice (AffineMarket a b) Source # | |
Defined in Optics.Internal.Concrete left' :: AffineMarket a b i a0 b0 -> AffineMarket a b i (Either a0 c) (Either b0 c) Source # right' :: AffineMarket a b i a0 b0 -> AffineMarket a b i (Either c a0) (Either c b0) Source # | |
Choice (Market a b) Source # | |
class Profunctor p => Cochoice p where Source #
unleft :: p i (Either a d) (Either b d) -> p i a b Source #
unright :: p i (Either d a) (Either d b) -> p i a b Source #
class (Choice p, Strong p) => Visiting p where Source #
Nothing
visit :: forall i s t a b. (forall f. Functor f => (forall r. r -> f r) -> (a -> f b) -> s -> f t) -> p i a b -> p i s t Source #
ivisit :: (forall f. Functor f => (forall r. r -> f r) -> (i -> a -> f b) -> s -> f t) -> p j a b -> p (i -> j) s t Source #
ivisit :: Coercible (p j s t) (p (i -> j) s t) => (forall f. Functor f => (forall r. r -> f r) -> (i -> a -> f b) -> s -> f t) -> p j a b -> p (i -> j) s t Source #
Instances
Visiting IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (a -> f b) -> s -> f t) -> IxFunArrow i a b -> IxFunArrow i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (i -> a -> f b) -> s -> f t) -> IxFunArrow j a b -> IxFunArrow (i -> j) s t Source # | |
Visiting FunArrow Source # | |
Defined in Optics.Internal.Profunctor | |
Functor f => Visiting (IxStarA f) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (a -> f0 b) -> s -> f0 t) -> IxStarA f i a b -> IxStarA f i s t Source # ivisit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (i -> a -> f0 b) -> s -> f0 t) -> IxStarA f j a b -> IxStarA f (i -> j) s t Source # | |
Functor f => Visiting (StarA f) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (a -> f0 b) -> s -> f0 t) -> StarA f i a b -> StarA f i s t Source # ivisit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (i -> a -> f0 b) -> s -> f0 t) -> StarA f j a b -> StarA f (i -> j) s t Source # | |
Visiting (IxForgetM r) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (a -> f b) -> s -> f t) -> IxForgetM r i a b -> IxForgetM r i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (i -> a -> f b) -> s -> f t) -> IxForgetM r j a b -> IxForgetM r (i -> j) s t Source # | |
Monoid r => Visiting (IxForget r) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (a -> f b) -> s -> f t) -> IxForget r i a b -> IxForget r i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (i -> a -> f b) -> s -> f t) -> IxForget r j a b -> IxForget r (i -> j) s t Source # | |
Applicative f => Visiting (IxStar f) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (a -> f0 b) -> s -> f0 t) -> IxStar f i a b -> IxStar f i s t Source # ivisit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (i -> a -> f0 b) -> s -> f0 t) -> IxStar f j a b -> IxStar f (i -> j) s t Source # | |
Visiting (ForgetM r) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (a -> f b) -> s -> f t) -> ForgetM r i a b -> ForgetM r i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (i -> a -> f b) -> s -> f t) -> ForgetM r j a b -> ForgetM r (i -> j) s t Source # | |
Monoid r => Visiting (Forget r) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (a -> f b) -> s -> f t) -> Forget r i a b -> Forget r i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r0. r0 -> f r0) -> (i -> a -> f b) -> s -> f t) -> Forget r j a b -> Forget r (i -> j) s t Source # | |
Applicative f => Visiting (Star f) Source # | |
Defined in Optics.Internal.Profunctor visit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (a -> f0 b) -> s -> f0 t) -> Star f i a b -> Star f i s t Source # ivisit :: (forall (f0 :: Type -> Type). Functor f0 => (forall r. r -> f0 r) -> (i -> a -> f0 b) -> s -> f0 t) -> Star f j a b -> Star f (i -> j) s t Source # | |
Visiting (AffineMarket a b) Source # | |
Defined in Optics.Internal.Concrete visit :: (forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (a0 -> f b0) -> s -> f t) -> AffineMarket a b i a0 b0 -> AffineMarket a b i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (i -> a0 -> f b0) -> s -> f t) -> AffineMarket a b j a0 b0 -> AffineMarket a b (i -> j) s t Source # |
class Visiting p => Traversing p where Source #
wander :: (forall f. Applicative f => (a -> f b) -> s -> f t) -> p i a b -> p i s t Source #
iwander :: (forall f. Applicative f => (i -> a -> f b) -> s -> f t) -> p j a b -> p (i -> j) s t Source #
Instances
Traversing IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor wander :: (forall (f :: Type -> Type). Applicative f => (a -> f b) -> s -> f t) -> IxFunArrow i a b -> IxFunArrow i s t Source # iwander :: (forall (f :: Type -> Type). Applicative f => (i -> a -> f b) -> s -> f t) -> IxFunArrow j a b -> IxFunArrow (i -> j) s t Source # | |
Traversing FunArrow Source # | |
Monoid r => Traversing (IxForget r) Source # | |
Defined in Optics.Internal.Profunctor | |
Applicative f => Traversing (IxStar f) Source # | |
Defined in Optics.Internal.Profunctor | |
Monoid r => Traversing (Forget r) Source # | |
Applicative f => Traversing (Star f) Source # | |
class Traversing p => Mapping p where Source #
roam :: ((a -> b) -> s -> t) -> p i a b -> p i s t Source #
iroam :: ((i -> a -> b) -> s -> t) -> p j a b -> p (i -> j) s t Source #
Instances
Mapping IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor roam :: ((a -> b) -> s -> t) -> IxFunArrow i a b -> IxFunArrow i s t Source # iroam :: ((i -> a -> b) -> s -> t) -> IxFunArrow j a b -> IxFunArrow (i -> j) s t Source # | |
Mapping FunArrow Source # | |
Mapping (IxStar Identity') Source # | |
Mapping (Star Identity') Source # | |