Portability | non-portable (class-associated types) |
---|---|

Stability | experimental |

Maintainer | Edward Kmett <ekmett@gmail.com> |

Safe Haskell | Safe-Infered |

# Cartesian Closed Category

class Cartesian k => CCC k whereSource

A `CCC`

has full-fledged monoidal finite products and exponentials

CCC (->) |

# Co-(Cartesian Closed Category)

class CoCartesian k => CoCCC k whereSource

A Co-CCC has full-fledged comonoidal finite coproducts and coexponentials

counitCoCCC :: CoCCC k => Coexp k b (Sum k b a) `k` aSource