Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Category.Monoidal.Optic
Documentation
data Optic m (a :: c) (b :: d) (s :: c) (t :: d) where Source Comments #
Constructors
Optic :: 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) -> Optic m a b s t |
Instances
IsOptic m c d => Strong m (Optic m a b :: c -> d -> Type) Source Comments # | |
(CategoryOf c, CategoryOf d) => Profunctor (Optic w a b :: c -> d -> Type) Source Comments # | |
type IsOptic m c d = (MonoidalAction m c, MonoidalAction m d) Source Comments #
parallel :: forall {k1} {k2} {k3} {k4} m (a :: k1) (b :: k2) (s :: k1) (t :: k2) m' (c :: k3) (d :: k4) (u :: k3) (v :: k4). Optic m a b s t -> Optic m' c d u v -> Optic (m, m') '(a, c) '(b, d) '(s, u) '(t, v) Source Comments #
data OPTIC (m :: k) c d Source Comments #
Constructors
OPT c d |
Instances
IsOptic w c d => CategoryOf (OPTIC w c d) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Optic | |
IsOptic w c d => Promonad (OpticCat :: OPTIC w c d -> OPTIC w c d -> Type) Source Comments # | |
IsOptic w c d => Profunctor (OpticCat :: OPTIC w c d -> OPTIC w c d -> Type) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Optic | |
type (~>) Source Comments # | |
type Ob (a :: OPTIC w c d) Source Comments # | |
data OpticCat (ab :: OPTIC w c d) (st :: OPTIC w c d) where Source Comments #
Constructors
OpticCat :: forall w1 c (a :: c) d (b :: d) (s :: c) (t :: d). Optic w1 a b s t -> OpticCat ('OPT a b :: OPTIC w1 c d) ('OPT s t :: OPTIC w1 c d) |
type MixedOptic w (a :: k) (b :: k1) (s :: k) (t :: k1) = forall (p :: k1 +-> k). Strong w p => p a b -> p s t Source Comments #
ex2prof :: forall {k1} {k2} w (a :: k1) (b :: k2) (s :: k1) (t :: k2). Optic w a b s t -> MixedOptic w a b s t Source Comments #
prof2ex :: forall {c} {d} m (a :: c) (b :: d) (s :: c) (t :: d). (MonoidalAction m c, MonoidalAction m d, Ob a, Ob b) => MixedOptic m a b s t -> Optic m a b s t Source Comments #
type Prism (s :: k) (t :: k1) (a :: k) (b :: k1) = MixedOptic (COPROD Type) ('COPR a) ('COPR b) ('COPR s) ('COPR t) Source Comments #
type Traversal (s :: k) (t :: k1) (a :: k) (b :: k1) = MixedOptic (Type -> Type) a b s t Source Comments #
traversing :: forall (f :: Type -> Type) a b. Traversable f => Traversal (f a) (f b) a b Source Comments #
class Monad m => Algebra (m :: Type -> Type) a where Source Comments #
Instances
type AlgebraicLens (m :: Type -> Type) (s :: k) (t :: k1) (a :: k) (b :: k1) = MixedOptic (SUBCAT (Algebra m)) a b s t Source Comments #
mkAlgebraicLens :: forall m s t a b. Monad m => (s -> a) -> (m s -> b -> t) -> AlgebraicLens m s t a b Source Comments #
data Previewing (a :: COPROD Type) (b :: COPROD Type) (s :: COPROD Type) (t :: COPROD Type) where Source Comments #
Constructors
Previewing | |
Instances
Strong Type (Previewing a b :: COPROD Type -> COPROD Type -> Type) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Optic | |
Strong (COPROD Type) (Previewing a b :: COPROD Type -> COPROD Type -> Type) Source Comments # | |
Profunctor (Previewing a b :: COPROD Type -> COPROD Type -> Type) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Optic Methods dimap :: forall (c :: COPROD Type) (a0 :: COPROD Type) (b0 :: COPROD Type) (d :: COPROD Type). (c ~> a0) -> (b0 ~> d) -> Previewing a b a0 b0 -> Previewing a b c d Source Comments # (\\) :: forall (a0 :: COPROD Type) (b0 :: COPROD Type) r. ((Ob a0, Ob b0) => r) -> Previewing a b a0 b0 -> r Source Comments # |
(?.) :: s -> (Previewing ('COPR a) ('COPR b) ('COPR a) ('COPR b) -> Previewing ('COPR a) ('COPR b) ('COPR s) ('COPR t)) -> Maybe a infixl 8 Source Comments #
data Updating (a :: k) (b :: KlCat m) s (t :: KlCat m) where Source Comments #
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 Comments #
newtype Replacing a b s t Source Comments #
Instances
newtype Classifying (m :: Type -> Type) (a :: k) b s t Source Comments #
Constructors
Classifying | |
Fields
|
Instances
Monad m => Strong (SUBCAT (Algebra m)) (Classifying m a b :: Type -> Type -> Type) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Optic | |
Monad m => Profunctor (Classifying m a b :: Type -> Type -> Type) Source Comments # | |
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 Comments # (\\) :: ((Ob a0, Ob b0) => r) -> Classifying m a b a0 b0 -> r Source Comments # |
(.?) :: Monad m => (Classifying m a b a b -> Classifying m a b s t) -> b -> m s -> t infixl 8 Source Comments #
data CHART (m :: k) c d Source Comments #
Instances
IsChart m c d => CategoryOf (CHART m c d) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Optic | |
IsChart m c d => Promonad (ChartCat :: CHART m c d -> CHART m c d -> Type) Source Comments # | |
IsChart m c d => Profunctor (ChartCat :: CHART m c d -> CHART m c d -> Type) Source Comments # | |
Defined in Proarrow.Category.Monoidal.Optic | |
type (~>) Source Comments # | |
type Ob (a :: CHART m c d) Source Comments # | |
data ChartCat (ab :: CHART w c d) (st :: CHART w c d) where Source Comments #
Constructors
ChartCat :: forall m c (a :: c) d (t :: d) (s :: c) (b :: d). Optic m a t s b -> ChartCat ('CHA a ('OP b) :: CHART m c d) ('CHA s ('OP t) :: CHART m c d) |