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 |
Control.Category.Cartesian.Closed
Description
Cartesian Closed Category
class Cartesian k => CCC k where Source #
A CCC
has full-fledged monoidal finite products and exponentials
Methods
apply :: Product k (Exp k a b) a `k` b Source #
curry :: (Product k a b `k` c) -> a `k` Exp k b c Source #
uncurry :: (a `k` Exp k b c) -> Product k a b `k` c Source #
Co-(Cartesian Closed Category)
class CoCartesian k => CoCCC k where Source #
A Co-CCC has full-fledged comonoidal finite coproducts and coexponentials