Safe Haskell | Safe |
---|---|

Language | Haskell2010 |

## Synopsis

- data Day (f :: Type -> Type) (g :: Type -> Type) (a :: Type) = forall x y. Day (x -> y -> a) (f x) (g y)
- type (~>) f g = forall a. f a -> g a
- class Profunctor p where
- class Convoluted p where
- convoluted :: (Comonad f, Comonad g, Comonad w) => p f g -> p (Day f w) (Day g w)

# Documentation

data Day (f :: Type -> Type) (g :: Type -> Type) (a :: Type) Source #

A Day convolution allows monoidal functors to be treated as objects in a monoid.

forall x y. Day (x -> y -> a) (f x) (g y) |

type (~>) f g = forall a. f a -> g a Source #

When `f`

and `g`

are `Functor`

s this is the type of
natural transformations.

# Re-definitions for expedience, should be replaced with libraries.

class Convoluted p where Source #

convoluted :: (Comonad f, Comonad g, Comonad w) => p f g -> p (Day f w) (Day g w) Source #