File indexed-traversable.cabal of Package ghc-indexed-traversable
cabal-version: 1.12
name: indexed-traversable
version: 0.1.4
x-revision: 1
build-type: Simple
license: BSD2
license-file: LICENSE
category: Data
maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
author: Edward Kmett
synopsis: FunctorWithIndex, FoldableWithIndex, TraversableWithIndex
description:
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@.
extra-source-files: Changelog.md
tested-with:
GHC ==8.6.5
|| ==8.8.4
|| ==8.10.7
|| ==9.0.2
|| ==9.2.8
|| ==9.4.8
|| ==9.6.6
|| ==9.8.4
|| ==9.10.1
|| ==9.12.1
source-repository head
type: git
location: https://github.com/haskellari/indexed-traversable
subdir: indexed-traversable
library
default-language: Haskell2010
hs-source-dirs: src
other-modules:
CoerceCompat
GhcList
WithIndex
exposed-modules:
Data.Foldable.WithIndex
Data.Foldable1.WithIndex
Data.Functor.WithIndex
Data.Traversable.WithIndex
build-depends:
array >=0.3.0.2 && <0.6
, base >=4.12 && <4.22
, containers >=0.6.0.1 && <0.8
, transformers >=0.5.6.0 && <0.7
if !impl(ghc >=9.6)
build-depends: foldable1-classes-compat >=0.1 && <0.2