Copyright | Copyright (C) 2015 Kyle Carter |
---|---|
License | BSD3 |
Maintainer | Kyle Carter <kylcarte@indiana.edu> |
Stability | experimental |
Portability | RankNTypes |
Safe Haskell | Safe |
Language | Haskell2010 |
Higher order functors, foldables, and traversables, along with their indexed variants. (oh, and bifunctors tacked on for good measure.)
Documentation
map' :: (forall a. f a -> g a) -> t f b -> t g b Source
Take a natural transformation to a lifted natural transformation.
HFunctor k k (IT k) Source | |
HFunctor k k ((:&:) k f) Source | |
HFunctor k k ((:+:) k f) Source | |
HFunctor k k (CT k k r) Source | |
HFunctor k k (RR k k g) Source | |
HFunctor k (Maybe k) (Option k) Source | We can take a natural transformation of |
HFunctor k [k] (Sum k) Source | |
HFunctor k [k] (Prod k) Source | |
HFunctor k ((,) k k) ((:*:) k k f) Source | |
HFunctor k (Either k k) ((:|:) k k f) Source | |
HFunctor k (k -> k) (LL k k a) Source |
class HIxFunctor i t | t -> i where Source
HIxFunctor [k] k (Index k) (Sum k) Source | |
HIxFunctor [k] k (Index k) (Prod k) Source |
class HFoldable t where Source
HFoldable k k (IT k) Source | |
HFoldable k k ((:&:) k f) Source | |
HFoldable k k ((:+:) k f) Source | |
HFoldable k k (CT k k r) Source | |
HFoldable k k (RR k k g) Source | |
HFoldable k (Maybe k) (Option k) Source | |
HFoldable k [k] (Sum k) Source | |
HFoldable k [k] (Prod k) Source | |
HFoldable k ((,) k k) ((:*:) k k f) Source | |
HFoldable k (Either k k) ((:|:) k k f) Source | |
HFoldable k (k -> k) (LL k k a) Source |
class HIxFoldable i t | t -> i where Source
HIxFoldable [k] k (Index k) (Sum k) Source | |
HIxFoldable [k] k (Index k) (Prod k) Source |
class (HFunctor t, HFoldable t) => HTraversable t where Source
traverse' :: Applicative h => (forall a. f a -> h (g a)) -> t f b -> h (t g b) Source
HTraversable k k (IT k) Source | |
HTraversable k k ((:&:) k f) Source | |
HTraversable k k ((:+:) k f) Source | |
HTraversable k k (CT k k r) Source | |
HTraversable k k (RR k k g) Source | |
HTraversable k (Maybe k) (Option k) Source | |
HTraversable k [k] (Sum k) Source | |
HTraversable k [k] (Prod k) Source | |
HTraversable k ((,) k k) ((:*:) k k f) Source | |
HTraversable k (Either k k) ((:|:) k k f) Source | |
HTraversable k (k -> k) (LL k k a) Source |
class (HIxFunctor i t, HIxFoldable i t) => HIxTraversable i t | t -> i where Source
itraverse' :: Applicative h => (forall a. i b a -> f a -> h (g a)) -> t f b -> h (t g b) Source
HIxTraversable [k] k (Index k) (Sum k) Source |
class HBifunctor t where Source
HBifunctor k k k ((:&:) k) Source | |
HBifunctor k k k ((:+:) k) Source | |
HBifunctor k k ((,) k k) ((:*:) k k) Source | |
HBifunctor k k (Either k k) ((:|:) k k) Source |