extended-categories-0.1.0: Extended Categories

Safe HaskellNone
LanguageHaskell2010

Category

Synopsis

Documentation

class Category m where Source

The class of categories m with objects of kind k which satisfy the constraint Object m. For any objects a and b, the type m a b is the type of morphisms with domain a and codomain b.

Associated Types

type Object m a :: Constraint Source

The set of objects.

Methods

id :: Object m a => m a a Source

The Identity operator.

(.) :: m b c -> m a b -> m a c Source

The Composition operator.

observeObjects :: m a b -> Dict (Object m a, Object m b) Source

Morphisms are arrows between objects.

Instances

Category * (->)

The category Hask of functions between types.

Category Constraint (:-)

The category of entailment from constraints

(Category o1 c1, Category o2 c2) => Category * (NatTr o1 o2 c1 c2) 
(Category k1 c1, Category k c2) => Category ((,) k k) ((:><:) k k k k c1 c2)