proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Profunctor.PastroTambara

Documentation

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

Constructors

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

Instances

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

Defined in Proarrow.Profunctor.PastroTambara

Methods

act :: forall (a :: m) (b :: m) (x :: k) (y :: j). (a ~> b) -> Pastro m p x y -> Pastro m p (Act a x) (Act b y) Source Github #

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

Defined in Proarrow.Profunctor.PastroTambara

Methods

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

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

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

Defined in Proarrow.Profunctor.PastroTambara

Methods

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

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

Defined in Proarrow.Profunctor.PastroTambara

Methods

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

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

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

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

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

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

Constructors

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

Instances

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

Defined in Proarrow.Profunctor.PastroTambara

Methods

act :: forall (a :: m) (b :: m) (x :: k) (y :: j). (a ~> b) -> Tambara m p x y -> Tambara m p (Act a x) (Act b y) Source Github #

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

Defined in Proarrow.Profunctor.PastroTambara

Methods

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

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

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

Defined in Proarrow.Profunctor.PastroTambara

Methods

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

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

Pastro mTambara m

Instance details

Defined in Proarrow.Profunctor.PastroTambara

Methods

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

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

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

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

Defined in Proarrow.Profunctor.PastroTambara

Methods

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

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

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

Defined in Proarrow.Profunctor.PastroTambara

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

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

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

Orphan instances

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

Associated Types

type Cofree (Strong m :: (j +-> k) -> Constraint) 
Instance details

Defined in Proarrow.Profunctor.PastroTambara

type Cofree (Strong m :: (j +-> k) -> Constraint) = Star (Tambara m :: (j +-> k) -> k -> j -> Type)

Methods

lower' :: forall (a :: j +-> k) (b :: j +-> k). Cofree (Strong m :: (j +-> k) -> Constraint) a b -> a ~> b Source Github #

section' :: forall (a :: j +-> k) (b :: j +-> k). Strong m a => (a ~> b) -> Cofree (Strong m :: (j +-> k) -> Constraint) a b Source Github #

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

Associated Types

type Free (Strong m :: (j +-> k) -> Constraint) 
Instance details

Defined in Proarrow.Profunctor.PastroTambara

type Free (Strong m :: (j +-> k) -> Constraint) = Star (Pastro m :: (j +-> k) -> k -> j -> Type)

Methods

lift' :: forall (a :: j +-> k) (b :: j +-> k). (a ~> b) -> Free (Strong m :: (j +-> k) -> Constraint) a b Source Github #

retract' :: forall (b :: j +-> k) (a :: j +-> k). Strong m b => Free (Strong m :: (j +-> k) -> Constraint) a b -> a ~> b Source Github #