Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Day
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.
Constructors
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 #
Methods
convoluted :: (Comonad f, Comonad g, Comonad w) => p f g -> p (Day f w) (Day g w) Source #