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

Safe HaskellNone
LanguageHaskell2010

Data.Align.Key

Description

These-based zipping and unzipping of indexed functors.

Since: 0.7.1

Synopsis

Documentation

class (Keyed f, Semialign 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 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 #

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 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 Vector Source # 
Instance details

Defined in Data.Align.Key

Methods

alignWithKey :: (Key Vector -> These a b -> c) -> Vector a -> Vector b -> Vector 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 #