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, 0.1.4
Change log Changelog.md
Dependencies array (>=0.3.0.2 && <0.6), base (>=4.12 && <4.21), containers (>=0.6.0.1 && <0.8), foldable1-classes-compat (>=0.1 && <0.2), transformers (>=0.5.6.0 && <0.7) [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 2024-05-16T07:59:00Z
Distributions Arch:0.1.3, Fedora:0.1.2.1, LTSHaskell:0.1.3, NixOS:0.1.3, Stackage:0.1.4, openSUSE:0.1.3
Reverse Dependencies 45 direct, 8444 indirect [details]
Downloads 23957 total (401 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-05-16 [all 1 reports]