these-0.7.6: An either-or-both data type & a generalized 'zip with padding' typeclass

Safe Haskell | None
Language | Haskell2010

Data.Align.Key

Description

`These`-based zipping and unzipping of indexed functors.

Since: 0.7.1

Synopsis

- class (Keyed f, Align f) => AlignWithKey f where
  - alignWithKey :: (Key f -> These a b -> c) -> f a -> f b -> f c

# Documentation

class (Keyed f, Align f) => AlignWithKey f where Source #

Keyed version of `Align`.

Since: 0.7.1

Minimal complete definition

Nothing

Methods

alignWithKey :: (Key f -> These a b -> c) -> f a -> f b -> f c Source #

Analogous to ``alignWith``, but also provides an index.

Instances

AlignWithKey [] Source # |
Instance details Defined in Data.Align.Key Methods alignWithKey :: (Key [] -> These a b -> c) -> [a] -> [b] -> [c] Source #
AlignWithKey Maybe Source # |
Instance details Defined in Data.Align.Key Methods alignWithKey :: (Key Maybe -> These a b -> c) -> Maybe a -> Maybe b -> Maybe c Source #
AlignWithKey Vector Source # |
Instance details Defined in Data.Align.Key Methods alignWithKey :: (Key Vector -> These a b -> c) -> Vector a -> Vector b -> Vector c Source #
AlignWithKey Seq Source # |
Instance details Defined in Data.Align.Key Methods alignWithKey :: (Key Seq -> These a b -> c) -> Seq a -> Seq b -> Seq c Source #
AlignWithKey IntMap Source # |
Instance details Defined in Data.Align.Key Methods alignWithKey :: (Key IntMap -> These a b -> c) -> IntMap a -> IntMap b -> IntMap c Source #
AlignWithKey ZipList Source # | Since: 0.7.6
Instance details Defined in Data.Align.Key Methods alignWithKey :: (Key ZipList -> These a b -> c) -> ZipList a -> ZipList b -> ZipList c Source #
(Eq k, Hashable k) => AlignWithKey (HashMap k) Source # |
Instance details Defined in Data.Align.Key Methods alignWithKey :: (Key (HashMap k) -> These a b -> c) -> HashMap k a -> HashMap k b -> HashMap k c Source #
Ord k => AlignWithKey (Map k) Source # |
Instance details Defined in Data.Align.Key Methods alignWithKey :: (Key (Map k) -> These a b -> c) -> Map k a -> Map k b -> Map k c Source #