pkgsrc/devel/hs-indexed-traversable/DESCR
2021-04-23 07:41:59 +00:00

17 lines
690 B
Text

This package provides three useful generalizations:
class Functor f => FunctorWithIndex i f | f -> i where
imap :: (i -> a -> b) -> f a -> f b
class Foldable f => FoldableWithIndex i f | f -> i where
ifoldMap :: Monoid m => (i -> a -> m) -> f a -> m
class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t)
=> TraversableWithIndex i t | t -> i where
itraverse :: Applicative f => (i -> a -> f b) -> t a -> f (t b)
This package contains instances for types in GHC boot libraries. For
some additional instances see indexed-traversable-instances.
The keys package provides similar functionality, but uses (associated)
TypeFamilies instead of FunctionalDependencies.