| 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 # | |