Portability | non-portable |
---|---|
Stability | experimental |
Maintainer | sjoerd@w3future.com |
- type Hask = (->)
- unHaskNat :: Funct (->) d (FunctO (->) d f) (FunctO (->) d g) -> Component f g a
- data Zero
- magic :: Zero -> a
- initObjInHask :: Limit (Id (->)) Zero
- termObjInHask :: Colimit (Id (->)) ()
- data ProdInHask = ProdInHask
- prodInHaskAdj :: Adjunction (Diag Pair (->)) ProdInHask
- data CoprodInHask = CoprodInHask
- coprodInHaskAdj :: Adjunction CoprodInHask (Diag Pair (->))
Documentation
unHaskNat :: Funct (->) d (FunctO (->) d f) (FunctO (->) d g) -> Component f g aSource
This isn't really working, and there really needs to be a solution for this.
initObjInHask :: Limit (Id (->)) ZeroSource
An alternative way to define the initial object.
termObjInHask :: Colimit (Id (->)) ()Source
An alternative way to define the terminal object.
data ProdInHask Source
The product functor, Hask^2 -> Hask
prodInHaskAdj :: Adjunction (Diag Pair (->)) ProdInHaskSource
The product functor is right adjoint to the diagonal functor.
data CoprodInHask Source
The coproduct functor, Hask^2 -> Hask
coprodInHaskAdj :: Adjunction CoprodInHask (Diag Pair (->))Source
The coproduct functor is left adjoint to the diagonal functor.