garden
Safe HaskellSafe
LanguageHaskell2010

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 details

Defined in Day

Methods

lower :: Comonad w => Day f w a -> w a

Functor (Day f g) Source # 
Instance details

Defined in Day

Methods

fmap :: (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 details

Defined in Day

Methods

extract :: Day f g a -> a

duplicate :: 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 #