| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Monoidal.Optic
Contents
Documentation
data ExOptic m (a :: c) (b :: d) (s :: c) (t :: d) where Source Github #
Constructors
| ExOptic :: forall {c} {d} {m} (x :: m) (x' :: m) (a :: c) (b :: d) (s :: c) (t :: d). (Ob a, Ob b) => (s ~> Act x a) -> (x ~> x') -> (Act x' b ~> t) -> ExOptic m a b s t |
Instances
| IsOptic m c d => Strong m (ExOptic m a b :: d -> c -> Type) Source Github # | |
| (CategoryOf c, CategoryOf d) => Profunctor (ExOptic m a b :: d -> c -> Type) Source Github # | |
type IsOptic m c d = (MonoidalAction m c, MonoidalAction m d) Source Github #
ex2prof :: forall {c} {d} m (a :: c) (b :: d) (s :: c) (t :: d). (CategoryOf c, CategoryOf d) => ExOptic m a b s t -> Optic (Strong m :: (d +-> c) -> Constraint) s t a b Source Github #
prof2ex :: forall {c} {d} m (a :: c) (b :: d) (s :: c) (t :: d). (IsOptic m c d, Ob a, Ob b) => Optic (Strong m :: (d +-> c) -> Constraint) s t a b -> ExOptic m a b s t Source Github #
type MonoidalOptic (s :: k) (t :: k) (a :: k) (b :: k) = Optic (Strong (SUBCAT (Any :: k -> Constraint)) :: (k +-> k) -> Constraint) s t a b Source Github #
mkMonoidal :: forall {k} (m :: k) (a :: k) (b :: k) (s :: k) (t :: k). (Monoidal k, Ob m, Ob a, Ob b) => (s ~> (m ** a)) -> ((m ** b) ~> t) -> MonoidalOptic s t a b Source Github #
_1 :: forall {k} (a :: k) (b :: k) (c :: k). (SymMonoidal k, Ob a, Ob b, Ob c) => MonoidalOptic (a ** c) (b ** c) a b Source Github #
_2 :: forall {k} (a :: k) (b :: k) (c :: k). (SymMonoidal k, Ob a, Ob b, Ob c) => MonoidalOptic (c ** a) (c ** b) a b Source Github #
type Lens (s :: k) (t :: k) (a :: k) (b :: k) = Optic (Strong (PROD k) :: (k +-> k) -> Constraint) s t a b Source Github #
mkLens :: forall {k} (s :: k) (t :: k) (a :: k) (b :: k). (HasProducts k, Ob b) => (s ~> a) -> ((s && b) ~> t) -> Lens s t a b Source Github #
type Prism (s :: k) (t :: j) (a :: k) (b :: j) = Optic (Strong (COPROD k) :: (j +-> k) -> Constraint) s t a b Source Github #
mkPrism :: forall {k} (s :: k) (t :: k) (a :: k) (b :: k). (HasCoproducts k, Ob a) => (s ~> (t || a)) -> (b ~> t) -> Prism s t a b Source Github #
type HaskTraversal (s :: k) (t :: j) (a :: k) (b :: j) = Optic (Strong (SUBCAT Traversable) :: (j +-> k) -> Constraint) s t a b Source Github #
traversing :: Traversable f => HaskTraversal (f a) (f b) a b Source Github #
type Traversal (s :: j) (t :: j) (a :: j) (b :: j) = Optic (StrongDistributiveProfunctor :: (j +-> j) -> Constraint) s t a b Source Github #
traversing' :: forall {j} (t :: j +-> j) (a :: j) (b :: j). (Traversable t, Representable t, Ob a, Ob b) => Traversal (t % a) (t % b) a b Source Github #
class Monad m => Algebra (m :: Type -> Type) a where Source Github #
type AlgebraicLens (m :: Type -> Type) (s :: k) (t :: j) (a :: k) (b :: j) = Optic (Strong (SUBCAT (Algebra m)) :: (j +-> k) -> Constraint) s t a b Source Github #
mkAlgebraicLens :: forall m s t a b. Monad m => (s -> a) -> (m s -> b -> t) -> AlgebraicLens m s t a b Source Github #
data Previewing a b s t where Source Github #
Constructors
| Previewing | |
Fields
| |
Instances
| Strong Type (Previewing a b :: Type -> Type -> Type) Source Github # | |
Defined in Proarrow.Category.Monoidal.Optic Methods act :: (a0 ~> b0) -> Previewing a b x y -> Previewing a b (Act a0 x) (Act b0 y) Source Github # | |
| Strong (COPROD Type) (Previewing a b :: Type -> Type -> Type) Source Github # | |
Defined in Proarrow.Category.Monoidal.Optic | |
| Profunctor (Previewing a b :: Type -> Type -> Type) Source Github # | |
Defined in Proarrow.Category.Monoidal.Optic Methods dimap :: (c ~> a0) -> (b0 ~> d) -> Previewing a b a0 b0 -> Previewing a b c d Source Github # (\\) :: ((Ob a0, Ob b0) => r) -> Previewing a b a0 b0 -> r Source Github # | |
(?.) :: s -> (Previewing a b a b -> Previewing a b s t) -> Maybe a infixl 8 Source Github #
data Updating (a :: k) (b :: KlCat m) s (t :: KlCat m) where Source Github #
Constructors
| Update | |
mupdate :: Monad m => (Updating a ('KL b :: KLEISLI (Star (Prelude m))) a ('KL b :: KLEISLI (Star (Prelude m))) -> Updating a ('KL b :: KLEISLI (Star (Prelude m))) s ('KL t :: KLEISLI (Star (Prelude m)))) -> b -> s -> m t Source Github #
newtype Classifying (m :: Type -> Type) (a :: k) b s t Source Github #
Constructors
| Classifying | |
Fields
| |
Instances
| Monad m => Strong (SUBCAT (Algebra m)) (Classifying m a b :: Type -> Type -> Type) Source Github # | |
Defined in Proarrow.Category.Monoidal.Optic | |
| Monad m => Profunctor (Classifying m a b :: Type -> Type -> Type) Source Github # | |
Defined in Proarrow.Category.Monoidal.Optic Methods dimap :: (c ~> a0) -> (b0 ~> d) -> Classifying m a b a0 b0 -> Classifying m a b c d Source Github # (\\) :: ((Ob a0, Ob b0) => r) -> Classifying m a b a0 b0 -> r Source Github # | |
(.?) :: Monad m => (Classifying m a b a b -> Classifying m a b s t) -> b -> m s -> t infixl 8 Source Github #
m1Optic :: forall f a a' i (k :: Meta). Traversal (f a) (f a') a a' -> Traversal (M1 i k f a) (M1 i k f a') a a' Source Github #
plusOptic :: Traversal (p a) (p a') a a' -> Traversal (q a) (q a') a a' -> Traversal ((p :+: q) a) ((p :+: q) a') a a' Source Github #
multOptic :: Traversal (p a) (p a') a a' -> Traversal (q a) (q a') a a' -> Traversal ((p :*: q) a) ((p :*: q) a') a a' Source Github #
compOptic :: Traversal (p (q a)) (p (q a')) (q a) (q a') -> Traversal (q a) (q a') a a' -> Traversal ((p :.: q) a) ((p :.: q) a') a a' Source Github #
Orphan instances
| (Cartesian k, SelfAction k, Ob c) => Strong k (Rep (Constant c) :: k -> k -> Type) Source Github # | |
| Strong m p => Costrong m (Re p s t :: d -> c -> Type) Source Github # | |
| Costrong m p => Strong m (Re p s t :: d -> c -> Type) Source Github # | |
| Strong (COPROD Type) (Rep (Constant (First c)) :: Type -> Type -> Type) Source Github # | |
| (Cartesian k, Ob c, Strong (SUBCAT (Any :: k -> Constraint)) ((~>) :: CAT k)) => Strong (SUBCAT (Any :: k -> Constraint)) (Rep (Constant c) :: k -> k -> Type) Source Github # | |
| InvertableOptic (Costrong m :: (j +-> k) -> Constraint) (Strong m :: (k +-> j) -> Constraint) Source Github # | |
| InvertableOptic (Strong m :: (j +-> k) -> Constraint) (Costrong m :: (k +-> j) -> Constraint) Source Github # | |