category-extras-0.53.5: Various modules and constructs inspired by category theorySource codeContentsIndex
Control.Functor.Extras
Portabilitynon-portable (rank-2 polymorphism)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Description
Synopsis
type Dist f g = forall a. f (g a) -> g (f a)
type :~> f g = forall a. f a -> g a
type Natural f g = f :~> g
type :~~> f g = forall a b. f a b -> g a b
type Dinatural f g = forall a. f a a -> g a a
class PostFold m f where
postFold :: f (m (f a)) -> m (f a)
class PostUnfold w f where
postUnfold :: w (f a) -> f (w (f a))
class PreFold f m where
preFold :: f (m (f a)) -> f (m a)
class PreUnfold f w where
preUnfold :: f (w a) -> f (w (f a))
class Distributes f g where
dist :: f (g a) -> g (f a)
class Functor f => FunctorZero f where
fzero :: f a
class FunctorZero f => FunctorPlus f where
fplus :: f a -> f a -> f a
class Functor f => FunctorSplit f where
fsplit :: f a -> (f a, f a)
Documentation
type Dist f g = forall a. f (g a) -> g (f a)Source
type :~> f g = forall a. f a -> g aSource
A natural transformation between functors f and g.
type Natural f g = f :~> gSource
type :~~> f g = forall a b. f a b -> g a bSource
A transformation natural in both sides of a bifunctor.
type Dinatural f g = forall a. f a a -> g a aSource
Dinatural transformations
class PostFold m f whereSource
Methods
postFold :: f (m (f a)) -> m (f a)Source
class PostUnfold w f whereSource
Methods
postUnfold :: w (f a) -> f (w (f a))Source
class PreFold f m whereSource
Methods
preFold :: f (m (f a)) -> f (m a)Source
class PreUnfold f w whereSource
Methods
preUnfold :: f (w a) -> f (w (f a))Source
class Distributes f g whereSource
Methods
dist :: f (g a) -> g (f a)Source
class Functor f => FunctorZero f whereSource
Methods
fzero :: f aSource
show/hide Instances
class FunctorZero f => FunctorPlus f whereSource
Methods
fplus :: f a -> f a -> f aSource
show/hide Instances
class Functor f => FunctorSplit f whereSource
Methods
fsplit :: f a -> (f a, f a)Source
show/hide Instances
Produced by Haddock version 2.4.2