Indexed Functor, Foldable, and Traversable typeclasses
This Haskell 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)
The ghc-keys
package provides similar functionality, but uses associated TypeFamilies
instead of FunctionalDependencies
.
System | Target | Derivation | Build status |
---|---|---|---|
x86_64-linux | /gnu/store/lg86i9cqdyalkcpc55gpgv7p264zww2i-ghc-indexed-traversable-0.1.1.drv | ||
i686-linux | /gnu/store/kbx951qb0kpkyy5wmixk86cyyxws8zp8-ghc-indexed-traversable-0.1.1.drv |
Linter | Message | Location |
---|---|---|
formatting Look for formatting issues in the source | line 14944 is way too long (91 characters) |