Copyright | 2008 Edward Kmett |
---|---|
License | BSD |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | experimental |
Portability | non-portable (class-associated types) |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Cartesian Closed Category
class Cartesian k => CCC k where Source
A CCC
has full-fledged monoidal finite products and exponentials
apply :: Product k (Exp k a b) a `k` b Source
CCC (->) |
Co-(Cartesian Closed Category)
class CoCartesian k => CoCCC k where Source
A Co-CCC has full-fledged comonoidal finite coproducts and coexponentials
counitCoCCC :: CoCCC k => Coexp k b (Sum k b a) `k` a Source