hask-0: Categories

Copyright(c) Edward Kmett 2014
LicenseBSD3
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Hask.End

Contents

Description

 

Synopsis

Ends

class (hom ~ Hom) => Ended hom | j -> hom where Source

Associated Types

type End :: (i -> i -> j) -> j Source

Methods

end :: End p `hom` p a a Source

Instances

Ended * (->) 
Ended Constraint (:-) 
Ended (i -> *) (Nat * i) 

newtype End1 f Source

Constructors

End 

Fields

getEnd :: forall x. f x x
 

Instances

Functor (k -> k -> *) * (End1 k) 

newtype End2 f y Source

Constructors

End2 

Fields

getEnd2 :: forall x. f x x y
 

Instances

Functor (k -> k -> k -> *) (k -> *) (End2 k k) 

class EndC p where Source

Methods

endDict :: Dict (p a a) Source

Instances

p (Any i) (Any i) => EndC i p 
Functor (k -> k -> Constraint) Constraint (EndC k) 

Coends

class (hom ~ Hom) => Coended hom | j -> hom where Source

Associated Types

type Coend :: (i -> i -> j) -> j Source

Methods

coend :: p a a `hom` Coend p Source

Instances

Coended * (->) 
Coended (i -> *) (Nat * i) 

data Coend1 f where Source

Constructors

Coend :: f x x -> Coend1 f 

Instances

Functor (k -> k -> *) * (Coend1 k) 

data Coend2 f y where Source

Constructors

Coend2 :: f x x y -> Coend2 f y 

Instances

Functor (k -> k -> k -> *) (k -> *) (Coend2 k k)