Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Category.Instance.Free
Contents
Documentation
newtype FREE (cs :: [Kind -> Constraint]) (p :: CAT j) k Source Comments #
Constructors
EMB j |
Instances
HasInitialObject k => IsFreeOb (InitF :: FREE c p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (InitF :: FREE c p k)) => r) -> r Source Comments # | |||||
HasTerminalObject k => IsFreeOb (TermF :: FREE c p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (TermF :: FREE c p k)) => r) -> r Source Comments # | |||||
Monoidal k => IsFreeOb (UnitF :: FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (UnitF :: FREE cs p k)) => r) -> r Source Comments # | |||||
(HasBinaryProducts k, Ob a, Ob b) => IsFreeOb (a *! b :: FREE c p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (a *! b)) => r) -> r Source Comments # | |||||
(HasBinaryCoproducts k, Ob a, Ob b) => IsFreeOb (a + b :: FREE c p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (a + b)) => r) -> r Source Comments # | |||||
(Monoidal k, Ob a, Ob b) => IsFreeOb (a **! b :: FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (a **! b)) => r) -> r Source Comments # | |||||
(Closed k, Ob a, Ob b) => IsFreeOb (a --> b :: FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (a --> b)) => r) -> r Source Comments # | |||||
(Monoidal k, Ok cs p k, Includes cs Monoidal) => Monoidal (FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Associated Types
Methods withOb2 :: forall (a :: FREE cs p k) (b :: FREE cs p k) r. (Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Comments # leftUnitor :: forall (a :: FREE cs p k). Ob a => ((Unit :: FREE cs p k) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: FREE cs p k). Ob a => a ~> ((Unit :: FREE cs p k) ** a) Source Comments # rightUnitor :: forall (a :: FREE cs p k). Ob a => (a ** (Unit :: FREE cs p k)) ~> a Source Comments # rightUnitorInv :: forall (a :: FREE cs p k). Ob a => a ~> (a ** (Unit :: FREE cs p k)) Source Comments # associator :: forall (a :: FREE cs p k) (b :: FREE cs p k) (c :: FREE cs p k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: FREE cs p k) (b :: FREE cs p k) (c :: FREE cs p k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||
Ok c p k => CategoryOf (FREE c p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
(HasBinaryCoproducts k, Ok cs p k, Includes cs HasBinaryCoproducts) => HasBinaryCoproducts (FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Methods withObCoprod :: forall (a :: FREE cs p k) (b :: FREE cs p k) r. (Ob a, Ob b) => (Ob (a || b) => r) -> r Source Comments # lft :: forall (a :: FREE cs p k) (b :: FREE cs p k). (Ob a, Ob b) => a ~> (a || b) Source Comments # rgt :: forall (a :: FREE cs p k) (b :: FREE cs p k). (Ob a, Ob b) => b ~> (a || b) Source Comments # (|||) :: forall (x :: FREE cs p k) (a :: FREE cs p k) (y :: FREE cs p k). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Comments # (+++) :: forall (a :: FREE cs p k) (b :: FREE cs p k) (x :: FREE cs p k) (y :: FREE cs p k). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Comments # | |||||
(HasBinaryProducts k, Ok cs p k, Includes cs HasBinaryProducts) => HasBinaryProducts (FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Methods withObProd :: forall (a :: FREE cs p k) (b :: FREE cs p k) r. (Ob a, Ob b) => (Ob (a && b) => r) -> r Source Comments # fst :: forall (a :: FREE cs p k) (b :: FREE cs p k). (Ob a, Ob b) => (a && b) ~> a Source Comments # snd :: forall (a :: FREE cs p k) (b :: FREE cs p k). (Ob a, Ob b) => (a && b) ~> b Source Comments # (&&&) :: forall (a :: FREE cs p k) (x :: FREE cs p k) (y :: FREE cs p k). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Comments # (***) :: forall (a :: FREE cs p k) (b :: FREE cs p k) (x :: FREE cs p k) (y :: FREE cs p k). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Comments # | |||||
(Closed k, Ok cs p k, Includes cs Closed, Includes cs Monoidal) => Closed (FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Methods withObExp :: forall (a :: FREE cs p k) (b :: FREE cs p k) r. (Ob a, Ob b) => (Ob (a ~~> b) => r) -> r Source Comments # curry :: forall (a :: FREE cs p k) (b :: FREE cs p k) (c :: FREE cs p k). (Ob a, Ob b) => ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # apply :: forall (a :: FREE cs p k) (b :: FREE cs p k). (Ob a, Ob b) => ((a ~~> b) ** a) ~> b Source Comments # (^^^) :: forall (a :: FREE cs p k) (b :: FREE cs p k) (x :: FREE cs p k) (y :: FREE cs p k). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
(HasInitialObject k, Ok cs p k, Includes cs HasInitialObject) => HasInitialObject (FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Associated Types
| |||||
(HasTerminalObject k, Ok cs p k, Includes cs HasTerminalObject) => HasTerminalObject (FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Associated Types
| |||||
Ok c p k => Promonad (Free :: FREE c p k -> FREE c p k -> Type) Source Comments # | |||||
(Monoidal k, Ok cs p k, Includes cs Monoidal) => MonoidalProfunctor (Free :: FREE cs p k -> FREE cs p k -> Type) Source Comments # | |||||
Ok c p k => Profunctor (Free :: FREE c p k -> FREE c p k -> Type) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
type Lower (f :: j +-> k) (InitF :: FREE c p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
type Lower (f :: j +-> k) (TermF :: FREE c p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
type Lower (f :: j +-> k) (UnitF :: FREE cs p k) Source Comments # | |||||
type Lower (f :: j +-> k) (a *! b :: FREE c p k) Source Comments # | |||||
type Lower (f :: j +-> k) (a + b :: FREE c p k) Source Comments # | |||||
type Lower (f :: j +-> k) (a **! b :: FREE cs p k) Source Comments # | |||||
type Lower (f :: j +-> k) (a --> b :: FREE cs p k) Source Comments # | |||||
type UN ('EMB :: j -> FREE cs p k) ('EMB a :: FREE cs p k) Source Comments # | |||||
type Unit Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
type (~>) Source Comments # | |||||
type InitialObject Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
type TerminalObject Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
type Ob (a :: FREE c p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
type (a :: FREE cs p k) ** (b :: FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
type (a :: FREE cs p k) || (b :: FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
type (a :: FREE cs p k) && (b :: FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free | |||||
type (a :: FREE cs p k) ~~> (b :: FREE cs p k) Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free |
type family All (cs :: [Kind -> Constraint]) k where ... Source Comments #
Equations
All ('[] :: [Kind -> Constraint]) k = () | |
All (c ': cs) k = (c k, All cs k) |
class Includes (cs :: k) (c :: Kind -> Constraint) Source Comments #
Instances
Includes (c ': cs :: [Kind -> Constraint]) c Source Comments # | |
Defined in Proarrow.Category.Instance.Free | |
Includes cs c => Includes (d ': cs :: [a]) c Source Comments # | |
Defined in Proarrow.Category.Instance.Free |
data Free (a :: FREE cs p k) (b :: FREE cs p k) where Source Comments #
Constructors
Id :: forall {j} {cs :: [Kind -> Constraint]} {p :: CAT j} {k} (a :: FREE cs p k). Ob a => Free a a | |
Emb :: forall {j} (a1 :: j) (b1 :: j) (p :: CAT j) (cs :: [Kind -> Constraint]) k (a :: FREE cs p k). (Ob a1, Ob b1, Typeable a1, Typeable b1) => p a1 b1 -> Free a ('EMB a1 :: FREE cs p k) -> Free a ('EMB b1 :: FREE cs p k) | |
Str :: forall {j} {k} {cs :: [Kind -> Constraint]} {p :: CAT j} (c :: Kind -> Constraint) (a1 :: FREE cs p k) (b :: FREE cs p k) (a :: FREE cs p k). (All cs k => c k, Includes cs c, HasStructure k cs p c, Ob a1, Ob b) => Struct c a1 b -> Free a a1 -> Free a b |
Instances
Ok c p k => Promonad (Free :: FREE c p k -> FREE c p k -> Type) Source Comments # | |
(Monoidal k, Ok cs p k, Includes cs Monoidal) => MonoidalProfunctor (Free :: FREE cs p k -> FREE cs p k -> Type) Source Comments # | |
Ok c p k => Profunctor (Free :: FREE c p k -> FREE c p k -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Free | |
WithEq a => Eq (Free a b) Source Comments # | |
emb :: forall {j} (a :: j) (b :: j) (cs :: [Kind -> Constraint]) p k. (Ob a, Ob b, Typeable a, Typeable b, Ok cs p k) => p a b %1 -> Free ('EMB a :: FREE cs p k) ('EMB b :: FREE cs p k) Source Comments #
class (Typeable p, Typeable c, Typeable k2, Typeable j) => Ok (c :: k) (p :: CAT j) (k2 :: k1) Source Comments #
class IsFreeOb (a :: FREE cs p k) where Source Comments #
Methods
withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f a) => r) -> r Source Comments #
Instances
class ((Ok c p k, Eq2 p) => Eq2 str, Ok c p k => Typeable str) => CanEq (str :: CAT (FREE c p k)) Source Comments #
class (Typeable c, CanEq (Struct c :: CAT (FREE cs p k))) => HasStructure k (cs :: [Kind -> Constraint]) (p :: CAT j) (c :: Kind -> Constraint) where Source Comments #
Methods
foldStructure :: forall (f :: j +-> k) (a :: FREE cs p k) (b :: FREE cs p k). (c k, Representable f) => (forall (x :: FREE cs p k) (y :: FREE cs p k). (x ~> y) -> Lower f x ~> Lower f y) -> Struct c a b -> Lower f a ~> Lower f b Source Comments #
Instances
HasStructure k cs (p :: CAT j) Monoidal Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Associated Types
| |||||
HasStructure k cs (p :: CAT j) HasBinaryCoproducts Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Associated Types
Methods foldStructure :: forall (f :: j +-> k) (a :: FREE cs p k) (b :: FREE cs p k). (HasBinaryCoproducts k, Representable f) => (forall (x :: FREE cs p k) (y :: FREE cs p k). (x ~> y) -> Lower f x ~> Lower f y) -> Struct HasBinaryCoproducts a b -> Lower f a ~> Lower f b Source Comments # | |||||
HasStructure k cs (p :: CAT j) HasBinaryProducts Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Associated Types
Methods foldStructure :: forall (f :: j +-> k) (a :: FREE cs p k) (b :: FREE cs p k). (HasBinaryProducts k, Representable f) => (forall (x :: FREE cs p k) (y :: FREE cs p k). (x ~> y) -> Lower f x ~> Lower f y) -> Struct HasBinaryProducts a b -> Lower f a ~> Lower f b Source Comments # | |||||
HasStructure k cs (p :: CAT j) Closed Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Associated Types
| |||||
HasStructure k cs (p :: CAT j) HasInitialObject Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Associated Types
Methods foldStructure :: forall (f :: j +-> k) (a :: FREE cs p k) (b :: FREE cs p k). (HasInitialObject k, Representable f) => (forall (x :: FREE cs p k) (y :: FREE cs p k). (x ~> y) -> Lower f x ~> Lower f y) -> Struct HasInitialObject a b -> Lower f a ~> Lower f b Source Comments # | |||||
HasStructure k cs (p :: CAT j) HasTerminalObject Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Associated Types
Methods foldStructure :: forall (f :: j +-> k) (a :: FREE cs p k) (b :: FREE cs p k). (HasTerminalObject k, Representable f) => (forall (x :: FREE cs p k) (y :: FREE cs p k). (x ~> y) -> Lower f x ~> Lower f y) -> Struct HasTerminalObject a b -> Lower f a ~> Lower f b Source Comments # |
fold :: forall {j} {k} {p} (cs :: [Kind -> Constraint]) f (a :: FREE cs p k) (b :: FREE cs p k). (All cs k, Representable f) => (forall (x :: j) (y :: j). p x y -> f (f % x) y) -> (a ~> b) -> Lower f a ~> Lower f b Source Comments #
retract :: forall {j} {k} (cs :: [Kind -> Constraint]) (f :: j +-> k) (a :: FREE cs (InitialProfunctor :: j -> j -> Type) k) (b :: FREE cs (InitialProfunctor :: j -> j -> Type) k). (All cs k, Representable f) => (a ~> b) -> Lower f a ~> Lower f b Source Comments #
type Req (c :: Type -> Constraint) (lut :: [(Symbol, k)]) (a :: FREE cs p k) (b :: FREE cs p k) = () Source Comments #
data AssertEqs (c :: Kind -> Constraint) k where Source Comments #
Constructors
NoLaws :: forall (c :: Kind -> Constraint) k. AssertEqs c k | |
(:>>:) :: forall (c :: Kind -> Constraint) k. AssertEqs c k -> AssertEqs c k -> AssertEqs c k | |
(:=:) :: forall {k} {c :: Kind -> Constraint} (a :: FREE '[c] (Var c) k) (b :: FREE '[c] (Var c) k). (forall r (lut :: [(Symbol, k)]). ((Req Eq lut a b, Req Show lut a b) => Free a b -> Free a b -> r) -> r) -> AssertEqs c k infix 0 |
(>>) :: forall (c :: Kind -> Constraint) k. AssertEqs c k -> AssertEqs c k -> AssertEqs c k Source Comments #
class Laws (c :: Kind -> Constraint) where Source Comments #
Instances
Laws HasBinaryProducts Source Comments # | |||||
Defined in Proarrow.Category.Instance.Free Associated Types
Methods laws :: (HasBinaryProducts k, Typeable k) => AssertEqs HasBinaryProducts k Source Comments # |
type family AssocLookup (lut :: [(Symbol, k)]) (a :: Symbol) :: k where ... Source Comments #
Equations
AssocLookup ('[] :: [(Symbol, k)]) a = Any :: k | |
AssocLookup ('(s, k2) ': lut :: [(Symbol, k1)]) s = k2 | |
AssocLookup ('(s, k2) ': lut :: [(Symbol, k1)]) a = AssocLookup lut a |
data Lookup (lut :: [(Symbol, k)]) (a :: k) (b :: Symbol) where Source Comments #
Constructors
Lookup :: forall {k} (lut :: [(Symbol, k)]) (b :: Symbol) (a :: k). Ob b => (a ~> (Lookup lut % b)) -> Lookup lut a b |
Instances
(CategoryOf k, AllOb lut) => Profunctor (Lookup lut :: k -> Symbol -> Type) Source Comments # | |
(CategoryOf k, AllOb lut) => Representable (Lookup lut :: k -> Symbol -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Free Methods index :: forall (a :: k) (b :: Symbol). Lookup lut a b -> a ~> (Lookup lut % b) Source Comments # tabulate :: forall (b :: Symbol) (a :: k). Ob b => (a ~> (Lookup lut % b)) -> Lookup lut a b Source Comments # repMap :: forall (a :: Symbol) (b :: Symbol). (a ~> b) -> (Lookup lut % a) ~> (Lookup lut % b) Source Comments # | |
type (Lookup lut :: k -> Symbol -> Type) % (a :: Symbol) Source Comments # | |
Defined in Proarrow.Category.Instance.Free |
data family TermF :: k Source Comments #
Instances
HasTerminalObject k => IsFreeOb (TermF :: FREE c p k) Source Comments # | |
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (TermF :: FREE c p k)) => r) -> r Source Comments # | |
type Lower (f :: j +-> k) (TermF :: FREE c p k) Source Comments # | |
Defined in Proarrow.Category.Instance.Free |
data family InitF :: k Source Comments #
Instances
HasInitialObject k => IsFreeOb (InitF :: FREE c p k) Source Comments # | |
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (InitF :: FREE c p k)) => r) -> r Source Comments # | |
type Lower (f :: j +-> k) (InitF :: FREE c p k) Source Comments # | |
Defined in Proarrow.Category.Instance.Free |
data family (a :: k) *! (b :: k) :: k Source Comments #
Instances
(HasBinaryProducts k, Ob a, Ob b) => IsFreeOb (a *! b :: FREE c p k) Source Comments # | |
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (a *! b)) => r) -> r Source Comments # | |
type Lower (f :: j +-> k) (a *! b :: FREE c p k) Source Comments # | |
data family (a :: k) + (b :: k) :: k Source Comments #
Instances
(HasBinaryCoproducts k, Ob a, Ob b) => IsFreeOb (a + b :: FREE c p k) Source Comments # | |
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (a + b)) => r) -> r Source Comments # | |
type Lower (f :: j +-> k) (a + b :: FREE c p k) Source Comments # | |
data family UnitF :: k Source Comments #
Instances
Monoidal k => IsFreeOb (UnitF :: FREE cs p k) Source Comments # | |
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (UnitF :: FREE cs p k)) => r) -> r Source Comments # | |
type Lower (f :: j +-> k) (UnitF :: FREE cs p k) Source Comments # | |
data family (a :: k) **! (b :: k) :: k Source Comments #
Instances
(Monoidal k, Ob a, Ob b) => IsFreeOb (a **! b :: FREE cs p k) Source Comments # | |
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (a **! b)) => r) -> r Source Comments # | |
type Lower (f :: j +-> k) (a **! b :: FREE cs p k) Source Comments # | |
data family (a :: k) --> (b :: k) :: k Source Comments #
Instances
(Closed k, Ob a, Ob b) => IsFreeOb (a --> b :: FREE cs p k) Source Comments # | |
Defined in Proarrow.Category.Instance.Free Methods withLowerOb :: forall (f :: j +-> k) r. Representable f => (Ob (Lower f (a --> b)) => r) -> r Source Comments # | |
type Lower (f :: j +-> k) (a --> b :: FREE cs p k) Source Comments # | |
Instances
Profunctor Interp Source Comments # | |||||||||
Representable Interp Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Free Associated Types
Methods index :: forall a (b :: DISCRETE TestTy). Interp a b -> a ~> (Interp % b) Source Comments # tabulate :: forall (b :: DISCRETE TestTy) a. Ob b => (a ~> (Interp % b)) -> Interp a b Source Comments # repMap :: forall (a :: DISCRETE TestTy) (b :: DISCRETE TestTy). (a ~> b) -> (Interp % a) ~> (Interp % b) Source Comments # | |||||||||
type Interp % IntTy Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Free | |||||||||
type Interp % StringTy Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Free |
show :: forall (cs :: [Kind -> Constraint]) k (i :: FREE cs Test k). (i ~> ('EMB IntTy :: FREE cs Test k)) %1 -> i ~> ('EMB StringTy :: FREE cs Test k) Source Comments #
read :: forall (cs :: [Kind -> Constraint]) k (i :: FREE cs Test k). (i ~> ('EMB StringTy :: FREE cs Test k)) %1 -> i ~> ('EMB IntTy :: FREE cs Test k) Source Comments #
succ :: forall (cs :: [Kind -> Constraint]) k (i :: FREE cs Test k). (i ~> ('EMB IntTy :: FREE cs Test k)) %1 -> i ~> ('EMB IntTy :: FREE cs Test k) Source Comments #
dup :: forall (cs :: [Kind -> Constraint]) k (i :: FREE cs Test k). (i ~> ('EMB StringTy :: FREE cs Test k)) %1 -> i ~> ('EMB StringTy :: FREE cs Test k) Source Comments #
test :: forall (cs :: [Kind -> Constraint]) k (i :: FREE cs Test k). (i ~> ('EMB StringTy :: FREE cs Test k)) %1 -> i ~> ('EMB StringTy :: FREE cs Test k) Source Comments #
test2 :: forall (cs :: [Kind -> Constraint]) k (i :: FREE cs Test k). HasBinaryProducts (FREE cs Test k) => (i ~> ('EMB StringTy :: FREE cs Test k)) -> i ~> (('EMB StringTy :: FREE cs Test k) *! ('EMB StringTy :: FREE cs Test k)) Source Comments #
data Interp a (b :: DISCRETE TestTy) where Source Comments #
Instances
Profunctor Interp Source Comments # | |||||||||
Representable Interp Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Free Associated Types
Methods index :: forall a (b :: DISCRETE TestTy). Interp a b -> a ~> (Interp % b) Source Comments # tabulate :: forall (b :: DISCRETE TestTy) a. Ob b => (a ~> (Interp % b)) -> Interp a b Source Comments # repMap :: forall (a :: DISCRETE TestTy) (b :: DISCRETE TestTy). (a ~> b) -> (Interp % a) ~> (Interp % b) Source Comments # | |||||||||
type Interp % IntTy Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Free | |||||||||
type Interp % StringTy Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Free |