| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.Semialign.Indexed
Description
Zipping and aligning of indexed functors.
Synopsis
- class (FunctorWithIndex i f, Semialign f) => SemialignWithIndex i f | f -> i where
- ialignWith :: (i -> These a b -> c) -> f a -> f b -> f c
- class (SemialignWithIndex i f, Zip f) => ZipWithIndex i f | f -> i where
- izipWith :: (i -> a -> b -> c) -> f a -> f b -> f c
- class (ZipWithIndex i f, Repeat f) => RepeatWithIndex i f | f -> i where
- irepeat :: (i -> a) -> f a
Documentation
class (FunctorWithIndex i f, Semialign f) => SemialignWithIndex i f | f -> i where Source #
Indexed version of Semialign.
Since: 1.2
Minimal complete definition
Nothing
Methods
ialignWith :: (i -> These a b -> c) -> f a -> f b -> f c Source #
Analogous to alignWith, but also provides an index.
Instances
class (SemialignWithIndex i f, Zip f) => ZipWithIndex i f | f -> i where Source #
Indexed version of Zip.
Since: 1.2
Minimal complete definition
Nothing
Methods
izipWith :: (i -> a -> b -> c) -> f a -> f b -> f c Source #
Analogous to zipWith, but also provides an index.
Instances
| ZipWithIndex Int [] Source # | |
Defined in Data.Semialign.Internal | |
| ZipWithIndex Int ZipList Source # | |
| ZipWithIndex Int NonEmpty Source # | |
| ZipWithIndex Int IntMap Source # | |
| ZipWithIndex Int Seq Source # | |
| ZipWithIndex Int Vector Source # | |
| ZipWithIndex () Maybe Source # | |
| ZipWithIndex () Identity Source # | |
| (Eq k, Hashable k) => ZipWithIndex k (HashMap k) Source # | |
| Ord k => ZipWithIndex k (Map k) Source # | |
| ZipWithIndex Void (Proxy :: Type -> Type) Source # | |
| ZipWithIndex () (Tagged b) Source # | |
| ZipWithIndex e ((->) e :: Type -> Type) Source # | |
Defined in Data.Semialign.Internal | |
| (ZipWithIndex i f, ZipWithIndex j g) => ZipWithIndex (Either i j) (Product f g) Source # | |
| (ZipWithIndex i f, ZipWithIndex j g) => ZipWithIndex (i, j) (Compose f g) Source # | |
class (ZipWithIndex i f, Repeat f) => RepeatWithIndex i f | f -> i where Source #
Indexed version of Repeat.
Since: 1.2
Minimal complete definition
Nothing
Methods
irepeat :: (i -> a) -> f a Source #
Analogous to repeat, but also provides an index.
This should be the same as tabulate for representable functors.
Instances
| RepeatWithIndex Int [] Source # | |
Defined in Data.Semialign.Internal | |
| RepeatWithIndex Int ZipList Source # | |
| RepeatWithIndex Int NonEmpty Source # | |
| RepeatWithIndex () Maybe Source # | |
Defined in Data.Semialign.Internal | |
| RepeatWithIndex () Identity Source # | |
Defined in Data.Semialign.Internal | |
| RepeatWithIndex Void (Proxy :: Type -> Type) Source # | |
| RepeatWithIndex () (Tagged b) Source # | |
Defined in Data.Semialign.Internal | |
| RepeatWithIndex e ((->) e :: Type -> Type) Source # | |
Defined in Data.Semialign.Internal | |
| (RepeatWithIndex i f, RepeatWithIndex j g) => RepeatWithIndex (Either i j) (Product f g) Source # | |
| (RepeatWithIndex i f, RepeatWithIndex j g) => RepeatWithIndex (i, j) (Compose f g) Source # | |
Defined in Data.Semialign.Internal | |