License | BSD-style (see the file LICENSE) |
---|---|
Maintainer | sjoerd@w3future.com |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Documentation
class HasTerminalObject k => HasNaturalNumberObject k where Source #
type NaturalNumberObject k :: * Source #
zero :: k (TerminalObject k) (NaturalNumberObject k) Source #
succ :: k (NaturalNumberObject k) (NaturalNumberObject k) Source #
primRec :: k (TerminalObject k) a -> k a a -> k (NaturalNumberObject k) a Source #
Instances
HasNaturalNumberObject ((->) :: Type -> Type -> Type) Source # | |
Defined in Data.Category.NNO type NaturalNumberObject (->) :: Type Source # zero :: TerminalObject (->) -> NaturalNumberObject (->) Source # succ :: NaturalNumberObject (->) -> NaturalNumberObject (->) Source # primRec :: (TerminalObject (->) -> a) -> (a -> a) -> NaturalNumberObject (->) -> a Source # |
PrimRec z s |
Instances
(Functor z, Functor s, Dom z ~ Unit, Cod z ~ Dom s, Dom s ~ Cod s) => Functor (PrimRec z s) Source # | |
type Dom (PrimRec z s) Source # | |
Defined in Data.Category.NNO | |
type Cod (PrimRec z s) Source # | |
Defined in Data.Category.NNO | |
type (PrimRec z s) :% (I1 ()) Source # | |
Defined in Data.Category.NNO | |
type (PrimRec z s) :% (I2 n) Source # | |