indexed-traversable: FunctorWithIndex, FoldableWithIndex, TraversableWithIndex

[ bsd2, data, library ] [ Propose Tags ]

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.

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1, 0.1.1, 0.1.2, 0.1.2.1, 0.1.3
Change log Changelog.md
Dependencies array (>=0.3.0.2 && <0.6), base (>=4.3 && <4.20), base-orphans (>=0.8.3 && <0.10), containers (>=0.4.0.0 && <0.7), foldable1-classes-compat (>=0.1 && <0.2), generic-deriving (>=1.14 && <1.15), ghc-prim, semigroups (>=0.18.4 && <0.21), tagged (>=0.8.5 && <0.9), transformers (>=0.3.0.0 && <0.7), transformers-compat (>=0.6.6 && <0.8), void (>=0.7.2 && <0.8) [details]
License BSD-2-Clause
Author Edward Kmett
Maintainer Oleg Grenrus <oleg.grenrus@iki.fi>
Category Data
Source repo head: git clone https://github.com/haskellari/indexed-traversable(indexed-traversable)
Uploaded by phadej at 2023-10-04T14:28:03Z
Distributions Arch:0.1.3, Fedora:0.1.2.1, LTSHaskell:0.1.3, NixOS:0.1.3, Stackage:0.1.3, openSUSE:0.1.3
Reverse Dependencies 45 direct, 8417 indirect [details]
Downloads 23519 total (399 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-10-04 [all 1 reports]