/caterwaul/Category/Functor/category

Copy path to clipboard

This cheats a bit on the unit, since dObject is Type, we don’t need a functor Set → 𝒟.

Source

{-|
This cheats a bit on the unit, since `dObject` is Type, we don’t need a functor
**Set** → 𝒟.
-}
let cat = ../../Category/Cat/semigroupal

let vObject = Type

let Category = ../Kind cat

in λ(cObject : Kind) →
λ(dObject : Kind) →
λ(v : Category Type vObject) →
λ(c : Category vObject cObject) →
λ(d : Category vObject dObject) →
{ constraint = ../../Functor/Type vObject cObject dObject v c d
, arrow = ../../NaturalTransformation/Type cObject dObject d
}
: Category vObject (cat.arrow cObject dObject)