concat-classes-0.3.0.0: Constrained categories
Safe HaskellSafe-Inferred
LanguageHaskell2010

ConCat.Zip

Description

Aliases for zippable functors, as the ones in Key.Zip inline too early

Synopsis

Documentation

class Functor f => Zip (f :: Type -> Type) Source #

Laws:

fmap fst (zip u u) = u
fmap snd (zip u u) = u
zip (fmap fst u) (fmap snd u) = u
zip (flip (,)) x y = zip y x

Minimal complete definition

zipWith | zip

Instances

Instances details
Zip ZipList 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> ZipList a -> ZipList b -> ZipList c Source #

zip :: ZipList a -> ZipList b -> ZipList (a, b) Source #

zap :: ZipList (a -> b) -> ZipList a -> ZipList b Source #

Zip Identity 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Identity a -> Identity b -> Identity c Source #

zip :: Identity a -> Identity b -> Identity (a, b) Source #

zap :: Identity (a -> b) -> Identity a -> Identity b Source #

Zip Product Source # 
Instance details

Defined in ConCat.Orphans

Methods

zipWith :: (a -> b -> c) -> Product a -> Product b -> Product c Source #

zip :: Product a -> Product b -> Product (a, b) Source #

zap :: Product (a -> b) -> Product a -> Product b Source #

Zip Sum Source # 
Instance details

Defined in ConCat.Orphans

Methods

zipWith :: (a -> b -> c) -> Sum a -> Sum b -> Sum c Source #

zip :: Sum a -> Sum b -> Sum (a, b) Source #

zap :: Sum (a -> b) -> Sum a -> Sum b Source #

Zip Par1 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Par1 a -> Par1 b -> Par1 c Source #

zip :: Par1 a -> Par1 b -> Par1 (a, b) Source #

zap :: Par1 (a -> b) -> Par1 a -> Par1 b Source #

Zip IntMap 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> IntMap a -> IntMap b -> IntMap c Source #

zip :: IntMap a -> IntMap b -> IntMap (a, b) Source #

zap :: IntMap (a -> b) -> IntMap a -> IntMap b Source #

Zip Seq 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Seq a -> Seq b -> Seq c Source #

zip :: Seq a -> Seq b -> Seq (a, b) Source #

zap :: Seq (a -> b) -> Seq a -> Seq b Source #

Zip Tree 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Tree a -> Tree b -> Tree c Source #

zip :: Tree a -> Tree b -> Tree (a, b) Source #

zap :: Tree (a -> b) -> Tree a -> Tree b Source #

Zip NonEmpty 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> NonEmpty a -> NonEmpty b -> NonEmpty c Source #

zip :: NonEmpty a -> NonEmpty b -> NonEmpty (a, b) Source #

zap :: NonEmpty (a -> b) -> NonEmpty a -> NonEmpty b Source #

Zip Maybe 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Maybe a -> Maybe b -> Maybe c Source #

zip :: Maybe a -> Maybe b -> Maybe (a, b) Source #

zap :: Maybe (a -> b) -> Maybe a -> Maybe b Source #

Zip [] 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] Source #

zip :: [a] -> [b] -> [(a, b)] Source #

zap :: [a -> b] -> [a] -> [b] Source #

Zip (Proxy :: Type -> Type) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Proxy a -> Proxy b -> Proxy c Source #

zip :: Proxy a -> Proxy b -> Proxy (a, b) Source #

zap :: Proxy (a -> b) -> Proxy a -> Proxy b Source #

Zip (U1 :: Type -> Type) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> U1 a -> U1 b -> U1 c Source #

zip :: U1 a -> U1 b -> U1 (a, b) Source #

zap :: U1 (a -> b) -> U1 a -> U1 b Source #

Zip (V1 :: Type -> Type) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> V1 a -> V1 b -> V1 c Source #

zip :: V1 a -> V1 b -> V1 (a, b) Source #

zap :: V1 (a -> b) -> V1 a -> V1 b Source #

Ord k => Zip (Map k) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Map k a -> Map k b -> Map k c Source #

zip :: Map k a -> Map k b -> Map k (a, b) Source #

zap :: Map k (a -> b) -> Map k a -> Map k b Source #

Zip f => Zip (Cofree f) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Cofree f a -> Cofree f b -> Cofree f c Source #

zip :: Cofree f a -> Cofree f b -> Cofree f (a, b) Source #

zap :: Cofree f (a -> b) -> Cofree f a -> Cofree f b Source #

(Eq k, Hashable k) => Zip (HashMap k) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> HashMap k a -> HashMap k b -> HashMap k c Source #

zip :: HashMap k a -> HashMap k b -> HashMap k (a, b) Source #

zap :: HashMap k (a -> b) -> HashMap k a -> HashMap k b Source #

Zip (Vector n) Source # 
Instance details

Defined in ConCat.Orphans

Methods

zipWith :: (a -> b -> c) -> Vector n a -> Vector n b -> Vector n c Source #

zip :: Vector n a -> Vector n b -> Vector n (a, b) Source #

zap :: Vector n (a -> b) -> Vector n a -> Vector n b Source #

Zip f => Zip (Rec1 f) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c Source #

zip :: Rec1 f a -> Rec1 f b -> Rec1 f (a, b) Source #

zap :: Rec1 f (a -> b) -> Rec1 f a -> Rec1 f b Source #

Zip w => Zip (TracedT s w) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> TracedT s w a -> TracedT s w b -> TracedT s w c Source #

zip :: TracedT s w a -> TracedT s w b -> TracedT s w (a, b) Source #

zap :: TracedT s w (a -> b) -> TracedT s w a -> TracedT s w b Source #

Zip (Tagged a) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a0 -> b -> c) -> Tagged a a0 -> Tagged a b -> Tagged a c Source #

zip :: Tagged a a0 -> Tagged a b -> Tagged a (a0, b) Source #

zap :: Tagged a (a0 -> b) -> Tagged a a0 -> Tagged a b Source #

Zip m => Zip (IdentityT m) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> IdentityT m a -> IdentityT m b -> IdentityT m c Source #

zip :: IdentityT m a -> IdentityT m b -> IdentityT m (a, b) Source #

zap :: IdentityT m (a -> b) -> IdentityT m a -> IdentityT m b Source #

Zip m => Zip (ReaderT e m) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> ReaderT e m a -> ReaderT e m b -> ReaderT e m c Source #

zip :: ReaderT e m a -> ReaderT e m b -> ReaderT e m (a, b) Source #

zap :: ReaderT e m (a -> b) -> ReaderT e m a -> ReaderT e m b Source #

(Zip f, Zip g) => Zip (Product f g) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Product f g a -> Product f g b -> Product f g c Source #

zip :: Product f g a -> Product f g b -> Product f g (a, b) Source #

zap :: Product f g (a -> b) -> Product f g a -> Product f g b Source #

(Zip f, Zip g) => Zip (f :*: g) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c Source #

zip :: (f :*: g) a -> (f :*: g) b -> (f :*: g) (a, b) Source #

zap :: (f :*: g) (a -> b) -> (f :*: g) a -> (f :*: g) b Source #

Zip ((->) a) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a0 -> b -> c) -> (a -> a0) -> (a -> b) -> a -> c Source #

zip :: (a -> a0) -> (a -> b) -> a -> (a0, b) Source #

zap :: (a -> (a0 -> b)) -> (a -> a0) -> a -> b Source #

(Zip f, Zip g) => Zip (Compose f g) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> Compose f g a -> Compose f g b -> Compose f g c Source #

zip :: Compose f g a -> Compose f g b -> Compose f g (a, b) Source #

zap :: Compose f g (a -> b) -> Compose f g a -> Compose f g b Source #

(Zip f, Zip g) => Zip (g :.: f) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c) -> (g :.: f) a -> (g :.: f) b -> (g :.: f) c Source #

zip :: (g :.: f) a -> (g :.: f) b -> (g :.: f) (a, b) Source #

zap :: (g :.: f) (a -> b) -> (g :.: f) a -> (g :.: f) b Source #

Zip f => Zip (M1 i c f) 
Instance details

Defined in Data.Key

Methods

zipWith :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 Source #

zip :: M1 i c f a -> M1 i c f b -> M1 i c f (a, b) Source #

zap :: M1 i c f (a -> b) -> M1 i c f a -> M1 i c f b Source #

zipWith :: Zip f => (a -> b -> c) -> f a -> f b -> f c Source #

zip :: Zip f => f a -> f b -> f (a, b) Source #

zap :: Zip f => f (a -> b) -> f a -> f b Source #