garden

Day

Synopsis

# 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.

Constructors

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

#### Instances

Instances details
 Comonad f => ComonadTrans (Day f) Source # Instance detailsDefined in Day Methodslower :: Comonad w => Day f w a -> w a Functor (Day f g) Source # Instance detailsDefined in Day Methodsfmap :: (a -> b) -> Day f g a -> Day f g b Source #(<\$) :: a -> Day f g b -> Day f g a Source # (Comonad f, Comonad g) => Comonad (Day f g) Source # Instance detailsDefined in Day Methodsextract :: Day f g a -> aduplicate :: Day f g a -> Day f g (Day f g a)extend :: (Day f g a -> b) -> Day f g a -> Day f g b

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

When f and g are Functors this is the type of natural transformations.

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

class Profunctor p where Source #

Methods

dimap :: (f ~> g) -> (h ~> i) -> p i f -> p h g Source #

class Convoluted p where Source #

Methods

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