proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Profunctor.Instance.PastroTambara

Documentation

data Pastro (t :: (m, k) +-> k) (p :: k +-> k) (a :: k) (b :: k) where Source Github #

Constructors

Pastro :: forall {m} {k} {t :: (m, k) +-> k} (z :: m) (x :: k) (y :: k) (p :: k +-> k) (a :: k) (b :: k). Ob z => (a ~> Act t z x) -> p x y -> (Act t z y ~> b) -> Pastro t p a b 

Instances

Instances details
(MonoidalAction t, Profunctor p) => Strong (t :: (m, k) +-> k) (Pastro t p :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.PastroTambara

Methods

act :: forall (a :: m) (x :: k) (y :: k). Ob a => Pastro t p x y -> Pastro t p (Act t a x) (Act t a y) Source Github #

CategoryOf k => Profunctor (Pastro t p :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.PastroTambara

Methods

dimap :: forall (c :: k) (a :: k) (b :: k) (d :: k). (c ~> a) -> (b ~> d) -> Pastro t p a b -> Pastro t p c d Source Github #

lmap :: forall (c :: k) (a :: k) (b :: k). (c ~> a) -> Pastro t p a b -> Pastro t p c b Source Github #

rmap :: forall (b :: k) (d :: k) (a :: k). (b ~> d) -> Pastro t p a b -> Pastro t p a d Source Github #

(\\) :: forall (a :: k) (b :: k) r. ((Ob a, Ob b) => r) -> Pastro t p a b -> r Source Github #

Functor (Pastro t :: (k +-> k) -> k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.PastroTambara

Methods

map :: forall (a :: k +-> k) (b :: k +-> k). (a ~> b) -> Pastro t a ~> Pastro t b Source Github #

MonoidalAction t => Promonad (Star (Pastro t) :: (k -> k -> Type) -> (k +-> k) -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.PastroTambara

Methods

id :: forall (a :: k +-> k). Ob a => Star (Pastro t) a a Source Github #

(.) :: forall (b :: k +-> k) (c :: k +-> k) (a :: k +-> k). Star (Pastro t) b c -> Star (Pastro t) a b -> Star (Pastro t) a c Source Github #

pastro :: forall {m} {k} (t :: (m, k) +-> k) (p :: k +-> k). (Profunctor p, MonoidalAction t) => p :~> Pastro t p Source Github #

unpastro :: forall {m} {k} (t :: (m, k) +-> k) (p :: k +-> k). (Strong t p, MonoidalAction t) => Pastro t p :~> p Source Github #

fromWeightedOptic :: forall {m} {k} (t :: (m, k) +-> k) (a :: k) (b :: k). MonoidalAction t => ExOptic t a b :~> Pastro t (Yo a ('OP b)) Source Github #

data Tambara (t :: (m, k) +-> k) (p :: k +-> k) (a :: k) (b :: k) where Source Github #

Constructors

Tambara :: forall {k} (a :: k) (b :: k) m (p :: k +-> k) (t :: (m, k) +-> k). (Ob a, Ob b) => (forall (z :: m). Ob z => p (Act t z a) (Act t z b)) -> Tambara t p a b 

Instances

Instances details
(MonoidalAction t, Profunctor p) => Strong (t :: (m, k) +-> k) (Tambara t p :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.PastroTambara

Methods

act :: forall (a :: m) (x :: k) (y :: k). Ob a => Tambara t p x y -> Tambara t p (Act t a x) (Act t a y) Source Github #

(MonoidalAction t, Profunctor p) => Profunctor (Tambara t p :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.PastroTambara

Methods

dimap :: forall (c :: k) (a :: k) (b :: k) (d :: k). (c ~> a) -> (b ~> d) -> Tambara t p a b -> Tambara t p c d Source Github #

lmap :: forall (c :: k) (a :: k) (b :: k). (c ~> a) -> Tambara t p a b -> Tambara t p c b Source Github #

rmap :: forall (b :: k) (d :: k) (a :: k). (b ~> d) -> Tambara t p a b -> Tambara t p a d Source Github #

(\\) :: forall (a :: k) (b :: k) r. ((Ob a, Ob b) => r) -> Tambara t p a b -> r Source Github #

MonoidalAction t => Functor (Tambara t :: (k +-> k) -> k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.PastroTambara

Methods

map :: forall (a :: k +-> k) (b :: k +-> k). (a ~> b) -> Tambara t a ~> Tambara t b Source Github #

MonoidalAction t => Corepresentable (Star (Tambara t) :: (k -> k -> Type) -> (k +-> k) -> Type) Source Github #

Pastro tTambara t

Instance details

Defined in Proarrow.Profunctor.Instance.PastroTambara

Methods

coindex :: forall (a :: k +-> k) (b :: k +-> k). Star (Tambara t) a b -> (Star (Tambara t) %% a) ~> b Source Github #

cotabulate :: forall (a :: k +-> k) (b :: k +-> k). Ob a => ((Star (Tambara t) %% a) ~> b) -> Star (Tambara t) a b Source Github #

corepMap :: forall (a :: k +-> k) (b :: k +-> k). (a ~> b) -> (Star (Tambara t) %% a) ~> (Star (Tambara t) %% b) Source Github #

corepUniv :: forall (a :: k +-> k). Ob a => Star (Tambara t) a (Star (Tambara t) %% a) Source Github #

MonoidalAction t => Promonad (Costar (Tambara t) :: (k +-> k) -> (k -> k -> Type) -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.PastroTambara

Methods

id :: forall (a :: k +-> k). Ob a => Costar (Tambara t) a a Source Github #

(.) :: forall (b :: k +-> k) (c :: k +-> k) (a :: k +-> k). Costar (Tambara t) b c -> Costar (Tambara t) a b -> Costar (Tambara t) a c Source Github #

type (Star (Tambara t) :: (k -> k -> Type) -> (k +-> k) -> Type) %% (p :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.PastroTambara

type (Star (Tambara t) :: (k -> k -> Type) -> (k +-> k) -> Type) %% (p :: k -> k -> Type) = Pastro t p

tambara :: forall {m} {k} (t :: (m, k) +-> k) (p :: k +-> k). (Strong t p, MonoidalAction t) => p :~> Tambara t p Source Github #

untambara :: forall {m} {k} (t :: (m, k) +-> k) (p :: k +-> k). (Profunctor p, MonoidalAction t) => Tambara t p :~> p Source Github #

Orphan instances

MonoidalAction t => HasCofree (Strong t :: (k +-> k) -> Constraint) Source Github # 
Instance details

Methods

lower :: forall (a :: k +-> k). Ob a => Cofree (Strong t) a ~> a Source Github #

unfoldMap :: forall (a :: k +-> k) (b :: k +-> k). Strong t a => (a ~> b) -> a ~> Cofree (Strong t) b Source Github #

MonoidalAction t => HasFree (Strong t :: (k +-> k) -> Constraint) Source Github # 
Instance details

Methods

lift :: forall (a :: k +-> k). Ob a => a ~> Free (Strong t) a Source Github #

foldMap :: forall (b :: k +-> k) (a :: k +-> k). Strong t b => (a ~> b) -> Free (Strong t) a ~> b Source Github #