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