proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Profunctor.Cofree

Documentation

class (CategoryOf k, Representable (Cofree ob), forall (b :: k). Ob b => ob (Cofree ob % b)) => HasCofree (ob :: k -> Constraint) where Source Comments #

Associated Types

type Cofree (ob :: k -> Constraint) :: k +-> k Source Comments #

Methods

lower' :: forall (a :: k) (b :: k). Cofree ob a b -> a ~> b Source Comments #

section' :: forall (a :: k) (b :: k). ob a => (a ~> b) -> Cofree ob a b Source Comments #

Instances

Instances details
HasCofree Test Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Cofree

Associated Types

type Cofree Test 
Instance details

Defined in Proarrow.Profunctor.Cofree

Methods

lower' :: Cofree Test a b -> a ~> b Source Comments #

section' :: Test a => (a ~> b) -> Cofree Test a b Source Comments #

HasCofree (Profunctor :: (j +-> k) -> Constraint) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Yoneda

Associated Types

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

Defined in Proarrow.Profunctor.Yoneda

type Cofree (Profunctor :: (j +-> k) -> Constraint) = Star (Yoneda :: (j +-> k) -> k -> j -> Type)

Methods

lower' :: forall (a :: j +-> k) (b :: j +-> k). Cofree (Profunctor :: (j +-> k) -> Constraint) a b -> a ~> b Source Comments #

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

lower :: forall {k} (ob :: k -> Constraint) (a :: k). (HasCofree ob, Ob a) => (Cofree ob % a) ~> a Source Comments #

section :: forall {j} (ob :: j -> Constraint) (a :: j). (HasCofree ob, ob a, Ob a) => a ~> (Cofree ob % a) Source Comments #

data family CofreeSub :: forall (ob :: OB k) -> k +-> SUBCAT ob Source Comments #

Instances

Instances details
HasCofree ob => FunctorForRep (CofreeSub ob :: j +-> SUBCAT ob) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Cofree

Methods

fmap :: forall (a :: j) (b :: j). (a ~> b) -> (CofreeSub ob @ a) ~> (CofreeSub ob @ b) Source Comments #

HasCofree ob => Corepresentable (Rep (CofreeSub ob) :: SUBCAT ob -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Cofree

Methods

coindex :: forall (a :: SUBCAT ob) (b :: k). Rep (CofreeSub ob) a b -> (Rep (CofreeSub ob) %% a) ~> b Source Comments #

cotabulate :: forall (a :: SUBCAT ob) (b :: k). Ob a => ((Rep (CofreeSub ob) %% a) ~> b) -> Rep (CofreeSub ob) a b Source Comments #

corepMap :: forall (a :: SUBCAT ob) (b :: SUBCAT ob). (a ~> b) -> (Rep (CofreeSub ob) %% a) ~> (Rep (CofreeSub ob) %% b) Source Comments #

type (CofreeSub ob :: j +-> SUBCAT ob) @ (a :: j) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Cofree

type (CofreeSub ob :: j +-> SUBCAT ob) @ (a :: j) = 'SUB (Cofree ob % a) :: SUBCAT ob
type (Rep (CofreeSub ob) :: SUBCAT ob -> k -> Type) %% (a :: SUBCAT ob) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Cofree

type (Rep (CofreeSub ob) :: SUBCAT ob -> k -> Type) %% (a :: SUBCAT ob) = UN ('SUB :: k -> SUBCAT ob) a

class Test a where Source Comments #

Methods

test :: a -> Int Source Comments #

Instances

Instances details
Test (Int, a) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Cofree

Methods

test :: (Int, a) -> Int Source Comments #