Module
Data.FunctorWithIndex
- Package
- purescript-foldable-traversable
- Repository
- purescript/purescript-foldable-traversable
#FunctorWithIndex Source
class (Functor f) <= FunctorWithIndex i f | f -> i whereA Functor with an additional index.
Instances must satisfy a modified form of the Functor laws
mapWithIndex (\_ a -> a) = identity
mapWithIndex f . mapWithIndex g = mapWithIndex (\i -> f i <<< g i)
and be compatible with the Functor instance
map f = mapWithIndex (const f)
Members
mapWithIndex :: forall a b. (i -> a -> b) -> f a -> f b
Instances
FunctorWithIndex Int ArrayFunctorWithIndex Unit MaybeFunctorWithIndex Unit FirstFunctorWithIndex Unit LastFunctorWithIndex Unit AdditiveFunctorWithIndex Unit DualFunctorWithIndex Unit ConjFunctorWithIndex Unit DisjFunctorWithIndex Unit MultiplicativeFunctorWithIndex Unit (Either a)FunctorWithIndex Unit (Tuple a)FunctorWithIndex Unit IdentityFunctorWithIndex Void (Const a)(FunctorWithIndex a f, FunctorWithIndex b g) => FunctorWithIndex (Either a b) (Product f g)(FunctorWithIndex a f, FunctorWithIndex b g) => FunctorWithIndex (Either a b) (Coproduct f g)(FunctorWithIndex a f, FunctorWithIndex b g) => FunctorWithIndex (Tuple a b) (Compose f g)(FunctorWithIndex a f) => FunctorWithIndex a (App f)
#mapDefault Source
mapDefault :: forall i f a b. FunctorWithIndex i f => (a -> b) -> f a -> f bA default implementation of Functor's map in terms of mapWithIndex