data-category-0.2.0: Restricted categories

Portabilitynon-portable
Stabilityexperimental
Maintainersjoerd@w3future.com

Data.Category.Dialg

Description

Dialg(F,G), the category of (F,G)-dialgebras and (F,G)-homomorphisms.

Synopsis

Documentation

type Dialgebra f g a = Obj (Dialg f g) aSource

Objects of Dialg(F,G) are (F,G)-dialgebras.

data Dialg f g a b whereSource

Arrows of Dialg(F,G) are (F,G)-homomorphisms.

Constructors

DialgA :: (Category c, Category d, Dom f ~ c, Dom g ~ c, Cod f ~ d, Cod g ~ d, Functor f, Functor g) => Dialgebra f g a -> Dialgebra f g b -> c a b -> Dialg f g a b 

Instances

type Alg f = Dialg f (Id (Dom f))Source

type Algebra f a = Dialgebra f (Id (Dom f)) aSource

type Coalg f = Dialg (Id (Dom f)) fSource

type Coalgebra f a = Dialgebra (Id (Dom f)) f aSource

type InitialFAlgebra f = InitialObject (Alg f)Source

The initial F-algebra is the initial object in the category of F-algebras.

type TerminalFAlgebra f = TerminalObject (Coalg f)Source

The terminal F-coalgebra is the terminal object in the category of F-coalgebras.

type Cata f a = Algebra f a -> Alg f (InitialFAlgebra f) aSource

A catamorphism of an F-algebra is the arrow to it from the initial F-algebra.

type Ana f a = Coalgebra f a -> Coalg f a (TerminalFAlgebra f)Source

A anamorphism of an F-coalgebra is the arrow from it to the terminal F-coalgebra.

newtype FixF f Source

FixF provides the initial F-algebra for endofunctors in Hask.

Constructors

InF 

Fields

outF :: f (FixF f)
 

cataHask :: Functor f => Cata (EndoHask f) aSource

Catamorphisms for endofunctors in Hask.

data NatF (~>) whereSource

The category for defining the natural numbers and primitive recursion can be described as Dialg(F,G), with F(A)=<1,A> and G(A)=<A,A>.

Constructors

NatF :: HasTerminalObject ~> => NatF ~> 

Instances

data NatNum Source

Constructors

Z 
S NatNum 

primRec :: t -> (t -> t) -> NatNum -> tSource