Safe Haskell | None |
---|---|
Language | Haskell2010 |
Optics.Internal.Profunctor
Description
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 # | |
Defined in Optics.Internal.Profunctor | |
Applicative f => Visiting (Star f) Source # | |
Defined in Optics.Internal.Profunctor Methods 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 Methods 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 Methods 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 # | |
Defined in Optics.Internal.Profunctor | |
Monoid r => Visiting (Forget r) Source # | |
Defined in Optics.Internal.Profunctor Methods 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 Methods 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 Methods 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 Methods 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.
Constructors
ForgetM | |
Fields
|
Instances
Visiting (ForgetM r) Source # | |
Defined in Optics.Internal.Profunctor Methods 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 Methods 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 Methods 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 Methods 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.
Constructors
FunArrow | |
Fields
|
Instances
Mapping FunArrow Source # | |
Traversing FunArrow Source # | |
Defined in Optics.Internal.Profunctor | |
Visiting FunArrow Source # | |
Defined in Optics.Internal.Profunctor Methods visit :: (forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (a -> f b) -> s -> f t) -> FunArrow i a b -> FunArrow i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (i -> a -> f b) -> s -> f t) -> FunArrow j a b -> FunArrow (i -> j) s t Source # | |
Choice FunArrow Source # | |
Strong FunArrow Source # | |
Defined in Optics.Internal.Profunctor Methods 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 # | |
Profunctor FunArrow Source # | |
Defined in Optics.Internal.Profunctor Methods 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 # |
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 Methods 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 Methods 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 Methods 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.
Constructors
IxForget | |
Fields
|
Instances
Monoid r => Traversing (IxForget r) Source # | |
Defined in Optics.Internal.Profunctor | |
Monoid r => Visiting (IxForget r) Source # | |
Defined in Optics.Internal.Profunctor Methods 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 Methods 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 Methods 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 Methods 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.
Constructors
IxForgetM | |
Fields
|
Instances
Visiting (IxForgetM r) Source # | |
Defined in Optics.Internal.Profunctor Methods 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 Methods 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 Methods 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 Methods 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.
Constructors
IxFunArrow | |
Fields
|
Instances
Mapping IxFunArrow Source # | |
Defined in Optics.Internal.Profunctor Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 # |
Constructors
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.
Constructors
StarA (forall r. r -> f r) (a -> f b) |
Instances
Functor f => Visiting (StarA f) Source # | |
Defined in Optics.Internal.Profunctor Methods 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 Methods 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 Methods 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.
Constructors
IxStarA (forall r. r -> f r) (i -> a -> f b) |
Instances
Functor f => Visiting (IxStarA f) Source # | |
Defined in Optics.Internal.Profunctor Methods 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 Methods 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 Methods 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 #
Methods
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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 #
Methods
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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 #
Methods
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 #
Minimal complete definition
Nothing
Methods
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 Methods 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 Methods visit :: (forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (a -> f b) -> s -> f t) -> FunArrow i a b -> FunArrow i s t Source # ivisit :: (forall (f :: Type -> Type). Functor f => (forall r. r -> f r) -> (i -> a -> f b) -> s -> f t) -> FunArrow j a b -> FunArrow (i -> j) s t Source # | |
Functor f => Visiting (IxStarA f) Source # | |
Defined in Optics.Internal.Profunctor Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 Methods 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 #
Methods
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 Methods 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 # | |
Defined in Optics.Internal.Profunctor | |
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 # | |
Defined in Optics.Internal.Profunctor | |
Applicative f => Traversing (Star f) Source # | |
Defined in Optics.Internal.Profunctor |
class Traversing p => Mapping p where Source #
Methods
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 Methods 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 # | |