           SPELL=haskell-indexed-traversable
         VERSION=0.1.5
          SOURCE="indexed-traversable-${VERSION}.tar.gz"
   SOURCE_URL[0]=https://hackage.haskell.org/package/indexed-traversable-${VERSION}/${SOURCE}
     SOURCE_HASH=sha512:54354f819258fe547e7857f6f0d7332f513eb29cce6f13e906495f4efbbd4a4ac4a7467629d7a2cc1cd8f77fb0012eb33997c505afac4d9d35955d17a31ba6ba
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/indexed-traversable-${VERSION}"
        WEB_SITE="https://hackage.haskell.org/package/indexed-traversable"
      LICENSE[0]=BSD
         ENTERED=20260818
           SHORT="FunctorWithIndex, FoldableWithIndex, TraversableWithIndex"
cat << EOF
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](https://hackage.haskell.org/package/indexed-traversable-instances).

The [keys](https://hackage.haskell.org/package/keys) package provides similar
functionality, but uses (associated) @TypeFamilies@ instead of
@FunctionalDependencies@.
EOF
