Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data.Key
Synopsis
- type family Key (f :: * -> *)
- class Functor f => Keyed f where
- mapWithKey :: (Key f -> a -> b) -> f a -> f b
- (<#$>) :: Keyed f => (Key f -> a -> b) -> f a -> f b
- keyed :: Keyed f => f a -> f (Key f, a)
- class Functor f => Zip f where
- class (Keyed f, Zip f) => ZipWithKey f where
- zipWithKey :: (Key f -> a -> b -> c) -> f a -> f b -> f c
- zapWithKey :: f (Key f -> a -> b) -> f a -> f b
- class Lookup f => Indexable f where
- (!) :: Indexable f => f a -> Key f -> a
- class Lookup f where
- lookupDefault :: Indexable f => Key f -> f a -> Maybe a
- class Functor f => Adjustable f where
- class Foldable t => FoldableWithKey t where
- toKeyedList :: t a -> [(Key t, a)]
- foldMapWithKey :: Monoid m => (Key t -> a -> m) -> t a -> m
- foldrWithKey :: (Key t -> a -> b -> b) -> b -> t a -> b
- foldlWithKey :: (b -> Key t -> a -> b) -> b -> t a -> b
- foldrWithKey' :: FoldableWithKey t => (Key t -> a -> b -> b) -> b -> t a -> b
- foldlWithKey' :: FoldableWithKey t => (b -> Key t -> a -> b) -> b -> t a -> b
- foldrWithKeyM :: (FoldableWithKey t, Monad m) => (Key t -> a -> b -> m b) -> b -> t a -> m b
- foldlWithKeyM :: (FoldableWithKey t, Monad m) => (b -> Key t -> a -> m b) -> b -> t a -> m b
- traverseWithKey_ :: (FoldableWithKey t, Applicative f) => (Key t -> a -> f b) -> t a -> f ()
- forWithKey_ :: (FoldableWithKey t, Applicative f) => t a -> (Key t -> a -> f b) -> f ()
- mapWithKeyM_ :: (FoldableWithKey t, Monad m) => (Key t -> a -> m b) -> t a -> m ()
- forWithKeyM_ :: (FoldableWithKey t, Monad m) => t a -> (Key t -> a -> m b) -> m ()
- concatMapWithKey :: FoldableWithKey t => (Key t -> a -> [b]) -> t a -> [b]
- anyWithKey :: FoldableWithKey t => (Key t -> a -> Bool) -> t a -> Bool
- allWithKey :: FoldableWithKey t => (Key t -> a -> Bool) -> t a -> Bool
- findWithKey :: FoldableWithKey t => (Key t -> a -> Bool) -> t a -> Maybe a
- class (Foldable1 t, FoldableWithKey t) => FoldableWithKey1 t where
- foldMapWithKey1 :: Semigroup m => (Key t -> a -> m) -> t a -> m
- traverseWithKey1_ :: (FoldableWithKey1 t, Apply f) => (Key t -> a -> f b) -> t a -> f ()
- forWithKey1_ :: (FoldableWithKey1 t, Apply f) => t a -> (Key t -> a -> f b) -> f ()
- foldMapWithKeyDefault1 :: (FoldableWithKey1 t, Monoid m) => (Key t -> a -> m) -> t a -> m
- class (Keyed t, FoldableWithKey t, Traversable t) => TraversableWithKey t where
- traverseWithKey :: Applicative f => (Key t -> a -> f b) -> t a -> f (t b)
- mapWithKeyM :: Monad m => (Key t -> a -> m b) -> t a -> m (t b)
- forWithKey :: (TraversableWithKey t, Applicative f) => t a -> (Key t -> a -> f b) -> f (t b)
- forWithKeyM :: (TraversableWithKey t, Monad m) => t a -> (Key t -> a -> m b) -> m (t b)
- mapAccumWithKeyL :: TraversableWithKey t => (Key t -> a -> b -> (a, c)) -> a -> t b -> (a, t c)
- mapAccumWithKeyR :: TraversableWithKey t => (Key t -> a -> b -> (a, c)) -> a -> t b -> (a, t c)
- mapWithKeyDefault :: TraversableWithKey t => (Key t -> a -> b) -> t a -> t b
- foldMapWithKeyDefault :: (TraversableWithKey t, Monoid m) => (Key t -> a -> m) -> t a -> m
- class (Traversable1 t, FoldableWithKey1 t, TraversableWithKey t) => TraversableWithKey1 t where
- traverseWithKey1 :: Apply f => (Key t -> a -> f b) -> t a -> f (t b)
- foldMapWithKey1Default :: (TraversableWithKey1 t, Semigroup m) => (Key t -> a -> m) -> t a -> m
Keys
type family Key (f :: * -> *) #
Instances
type Key ZipList # | |
type Key Identity # | |
type Key NonEmpty # | |
type Key Par1 # | |
type Key IntMap # | |
type Key Seq # | |
type Key Tree # | |
type Key Maybe # | |
type Key List # | |
type Key (Proxy :: Type -> Type) # | |
type Key (Array i) # | |
type Key (U1 :: Type -> Type) # | |
type Key (V1 :: Type -> Type) # | |
type Key (Map k) # | |
type Key (Cofree f) # | |
type Key (Free f) # | |
type Key (HashMap k) # | |
type Key ((,) k) # | |
type Key (Const e :: Type -> Type) # | |
type Key (Rec1 f) # | |
type Key (TracedT s w) # | |
type Key (Tagged a) # | |
type Key (IdentityT m) # | |
type Key (ReaderT e m) # | |
type Key (Constant e :: Type -> Type) # | |
type Key (Product f g) # | |
type Key (Sum f g) # | |
type Key (f :*: g) # | |
type Key (f :+: g) # | |
type Key (K1 i c :: Type -> Type) # | |
type Key ((->) a) # | |
type Key (Compose f g) # | |
type Key (g :.: f) # | |
type Key (M1 i c f) # | |
Keyed functors
class Functor f => Keyed f where #
Methods
mapWithKey :: (Key f -> a -> b) -> f a -> f b #
Instances
Keyed ZipList # | |
Defined in Data.Key Methods mapWithKey :: (Key ZipList -> a -> b) -> ZipList a -> ZipList b # | |
Keyed Identity # | |
Defined in Data.Key Methods mapWithKey :: (Key Identity -> a -> b) -> Identity a -> Identity b # | |
Keyed NonEmpty # | |
Defined in Data.Key Methods mapWithKey :: (Key NonEmpty -> a -> b) -> NonEmpty a -> NonEmpty b # | |
Keyed Par1 # | |
Defined in Data.Key Methods mapWithKey :: (Key Par1 -> a -> b) -> Par1 a -> Par1 b # | |
Keyed IntMap # | |
Defined in Data.Key Methods mapWithKey :: (Key IntMap -> a -> b) -> IntMap a -> IntMap b # | |
Keyed Seq # | |
Defined in Data.Key Methods mapWithKey :: (Key Seq -> a -> b) -> Seq a -> Seq b # | |
Keyed Tree # | |
Defined in Data.Key Methods mapWithKey :: (Key Tree -> a -> b) -> Tree a -> Tree b # | |
Keyed Maybe # | |
Defined in Data.Key Methods mapWithKey :: (Key Maybe -> a -> b) -> Maybe a -> Maybe b # | |
Keyed List # | |
Defined in Data.Key Methods mapWithKey :: (Key List -> a -> b) -> [a] -> [b] # | |
Keyed (Proxy :: Type -> Type) # | |
Defined in Data.Key Methods mapWithKey :: (Key Proxy -> a -> b) -> Proxy a -> Proxy b # | |
Ix i => Keyed (Array i) # | |
Defined in Data.Key Methods mapWithKey :: (Key (Array i) -> a -> b) -> Array i a -> Array i b # | |
Keyed (U1 :: Type -> Type) # | |
Defined in Data.Key Methods mapWithKey :: (Key U1 -> a -> b) -> U1 a -> U1 b # | |
Keyed (V1 :: Type -> Type) # | |
Defined in Data.Key Methods mapWithKey :: (Key V1 -> a -> b) -> V1 a -> V1 b # | |
Keyed (Map k) # | |
Defined in Data.Key Methods mapWithKey :: (Key (Map k) -> a -> b) -> Map k a -> Map k b # | |
Keyed f => Keyed (Cofree f) # | |
Keyed f => Keyed (Free f) # | |
Keyed (HashMap k) # | |
Keyed ((,) k) # | |
Defined in Data.Key Methods mapWithKey :: (Key ((,) k) -> a -> b) -> (k, a) -> (k, b) # | |
Keyed (Const e :: Type -> Type) # | |
Defined in Data.Key Methods mapWithKey :: (Key (Const e) -> a -> b) -> Const e a -> Const e b # | |
Keyed f => Keyed (Rec1 f) # | |
Defined in Data.Key Methods mapWithKey :: (Key (Rec1 f) -> a -> b) -> Rec1 f a -> Rec1 f b # | |
Keyed w => Keyed (TracedT s w) # | |
Keyed (Tagged a) # | |
Keyed m => Keyed (IdentityT m) # | |
Keyed m => Keyed (ReaderT e m) # | |
Defined in Data.Key Methods mapWithKey :: (Key (ReaderT e m) -> a -> b) -> ReaderT e m a -> ReaderT e m b # | |
Keyed (Constant e :: Type -> Type) # | |
Defined in Data.Key Methods mapWithKey :: (Key (Constant e) -> a -> b) -> Constant e a -> Constant e b # | |
(Keyed f, Keyed g) => Keyed (Product f g) # | |
Defined in Data.Key Methods mapWithKey :: (Key (Product f g) -> a -> b) -> Product f g a -> Product f g b # | |
(Keyed f, Keyed g) => Keyed (Sum f g) # | |
Defined in Data.Key Methods mapWithKey :: (Key (Sum f g) -> a -> b) -> Sum f g a -> Sum f g b # | |
(Keyed g, Keyed f) => Keyed (f :*: g) # | |
Defined in Data.Key Methods mapWithKey :: (Key (f :*: g) -> a -> b) -> (f :*: g) a -> (f :*: g) b # | |
(Keyed g, Keyed f) => Keyed (f :+: g) # | |
Defined in Data.Key Methods mapWithKey :: (Key (f :+: g) -> a -> b) -> (f :+: g) a -> (f :+: g) b # | |
Keyed (K1 i c :: Type -> Type) # | |
Defined in Data.Key Methods mapWithKey :: (Key (K1 i c) -> a -> b) -> K1 i c a -> K1 i c b # | |
Keyed ((->) a) # | |
Defined in Data.Key Methods mapWithKey :: (Key ((->) a) -> a0 -> b) -> (a -> a0) -> a -> b # | |
(Keyed f, Keyed g) => Keyed (Compose f g) # | |
Defined in Data.Key Methods mapWithKey :: (Key (Compose f g) -> a -> b) -> Compose f g a -> Compose f g b # | |
(Keyed g, Keyed f) => Keyed (g :.: f) # | |
Defined in Data.Key Methods mapWithKey :: (Key (g :.: f) -> a -> b) -> (g :.: f) a -> (g :.: f) b # | |
Keyed f => Keyed (M1 i c f) # | |
Defined in Data.Key Methods mapWithKey :: (Key (M1 i c f) -> a -> b) -> M1 i c f a -> M1 i c f b # |
Zippable functors
class Functor f => Zip f where #
Laws:
fmap
fst
(zip
u u) = ufmap
snd
(zip
u u) = uzip
(fmap
fst
u) (fmap
snd
u) = uzip
(flip
(,)) x y =zip
y x
Instances
Zip ZipList # | |
Zip Identity # | |
Zip NonEmpty # | |
Zip Par1 # | |
Zip IntMap # | |
Zip Seq # | |
Zip Tree # | |
Zip Maybe # | |
Zip List # | |
Zip (Proxy :: Type -> Type) # | |
Zip (U1 :: Type -> Type) # | |
Zip (V1 :: Type -> Type) # | |
Ord k => Zip (Map k) # | |
Zip f => Zip (Cofree f) # | |
(Eq k, Hashable k) => Zip (HashMap k) # | |
Zip f => Zip (Rec1 f) # | |
Zip w => Zip (TracedT s w) # | |
Zip (Tagged a) # | |
Zip m => Zip (IdentityT m) # | |
Zip m => Zip (ReaderT e m) # | |
(Zip f, Zip g) => Zip (Product f g) # | |
(Zip f, Zip g) => Zip (f :*: g) # | |
Zip ((->) a) # | |
(Zip f, Zip g) => Zip (Compose f g) # | |
(Zip f, Zip g) => Zip (g :.: f) # | |
Zip f => Zip (M1 i c f) # | |
Zipping keyed functors
class (Keyed f, Zip f) => ZipWithKey f where #
Minimal complete definition
Nothing
Methods
zipWithKey :: (Key f -> a -> b -> c) -> f a -> f b -> f c #
zapWithKey :: f (Key f -> a -> b) -> f a -> f b #
Instances
ZipWithKey ZipList # | |
Defined in Data.Key Methods zipWithKey :: (Key ZipList -> a -> b -> c) -> ZipList a -> ZipList b -> ZipList c # zapWithKey :: ZipList (Key ZipList -> a -> b) -> ZipList a -> ZipList b # | |
ZipWithKey Identity # | |
Defined in Data.Key Methods zipWithKey :: (Key Identity -> a -> b -> c) -> Identity a -> Identity b -> Identity c # zapWithKey :: Identity (Key Identity -> a -> b) -> Identity a -> Identity b # | |
ZipWithKey NonEmpty # | |
Defined in Data.Key Methods zipWithKey :: (Key NonEmpty -> a -> b -> c) -> NonEmpty a -> NonEmpty b -> NonEmpty c # zapWithKey :: NonEmpty (Key NonEmpty -> a -> b) -> NonEmpty a -> NonEmpty b # | |
ZipWithKey Par1 # | |
Defined in Data.Key Methods zipWithKey :: (Key Par1 -> a -> b -> c) -> Par1 a -> Par1 b -> Par1 c # zapWithKey :: Par1 (Key Par1 -> a -> b) -> Par1 a -> Par1 b # | |
ZipWithKey IntMap # | |
Defined in Data.Key Methods zipWithKey :: (Key IntMap -> a -> b -> c) -> IntMap a -> IntMap b -> IntMap c # zapWithKey :: IntMap (Key IntMap -> a -> b) -> IntMap a -> IntMap b # | |
ZipWithKey Seq # | |
Defined in Data.Key Methods zipWithKey :: (Key Seq -> a -> b -> c) -> Seq a -> Seq b -> Seq c # zapWithKey :: Seq (Key Seq -> a -> b) -> Seq a -> Seq b # | |
ZipWithKey Tree # | |
Defined in Data.Key Methods zipWithKey :: (Key Tree -> a -> b -> c) -> Tree a -> Tree b -> Tree c # zapWithKey :: Tree (Key Tree -> a -> b) -> Tree a -> Tree b # | |
ZipWithKey Maybe # | |
Defined in Data.Key Methods zipWithKey :: (Key Maybe -> a -> b -> c) -> Maybe a -> Maybe b -> Maybe c # zapWithKey :: Maybe (Key Maybe -> a -> b) -> Maybe a -> Maybe b # | |
ZipWithKey List # | |
Defined in Data.Key Methods zipWithKey :: (Key List -> a -> b -> c) -> [a] -> [b] -> [c] # zapWithKey :: [Key List -> a -> b] -> [a] -> [b] # | |
ZipWithKey (Proxy :: Type -> Type) # | |
Defined in Data.Key Methods zipWithKey :: (Key Proxy -> a -> b -> c) -> Proxy a -> Proxy b -> Proxy c # zapWithKey :: Proxy (Key Proxy -> a -> b) -> Proxy a -> Proxy b # | |
ZipWithKey (U1 :: Type -> Type) # | |
Defined in Data.Key Methods zipWithKey :: (Key U1 -> a -> b -> c) -> U1 a -> U1 b -> U1 c # zapWithKey :: U1 (Key U1 -> a -> b) -> U1 a -> U1 b # | |
ZipWithKey (V1 :: Type -> Type) # | |
Defined in Data.Key Methods zipWithKey :: (Key V1 -> a -> b -> c) -> V1 a -> V1 b -> V1 c # zapWithKey :: V1 (Key V1 -> a -> b) -> V1 a -> V1 b # | |
Ord k => ZipWithKey (Map k) # | |
Defined in Data.Key Methods zipWithKey :: (Key (Map k) -> a -> b -> c) -> Map k a -> Map k b -> Map k c # zapWithKey :: Map k (Key (Map k) -> a -> b) -> Map k a -> Map k b # | |
ZipWithKey f => ZipWithKey (Cofree f) # | |
(Eq k, Hashable k) => ZipWithKey (HashMap k) # | |
ZipWithKey f => ZipWithKey (Rec1 f) # | |
Defined in Data.Key Methods zipWithKey :: (Key (Rec1 f) -> a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c # zapWithKey :: Rec1 f (Key (Rec1 f) -> a -> b) -> Rec1 f a -> Rec1 f b # | |
ZipWithKey w => ZipWithKey (TracedT s w) # | |
ZipWithKey (Tagged a) # | |
ZipWithKey m => ZipWithKey (IdentityT m) # | |
ZipWithKey m => ZipWithKey (ReaderT e m) # | |
Defined in Data.Key Methods zipWithKey :: (Key (ReaderT e m) -> a -> b -> c) -> ReaderT e m a -> ReaderT e m b -> ReaderT e m c # zapWithKey :: ReaderT e m (Key (ReaderT e m) -> a -> b) -> ReaderT e m a -> ReaderT e m b # | |
(ZipWithKey f, ZipWithKey g) => ZipWithKey (Product f g) # | |
Defined in Data.Key Methods zipWithKey :: (Key (Product f g) -> a -> b -> c) -> Product f g a -> Product f g b -> Product f g c # zapWithKey :: Product f g (Key (Product f g) -> a -> b) -> Product f g a -> Product f g b # | |
(ZipWithKey f, ZipWithKey g) => ZipWithKey (f :*: g) # | |
Defined in Data.Key Methods zipWithKey :: (Key (f :*: g) -> a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c # zapWithKey :: (f :*: g) (Key (f :*: g) -> a -> b) -> (f :*: g) a -> (f :*: g) b # | |
ZipWithKey ((->) a) # | |
Defined in Data.Key Methods zipWithKey :: (Key ((->) a) -> a0 -> b -> c) -> (a -> a0) -> (a -> b) -> a -> c # zapWithKey :: (a -> (Key ((->) a) -> a0 -> b)) -> (a -> a0) -> a -> b # | |
(ZipWithKey f, ZipWithKey g) => ZipWithKey (Compose f g) # | |
Defined in Data.Key Methods zipWithKey :: (Key (Compose f g) -> a -> b -> c) -> Compose f g a -> Compose f g b -> Compose f g c # zapWithKey :: Compose f g (Key (Compose f g) -> a -> b) -> Compose f g a -> Compose f g b # | |
(ZipWithKey f, ZipWithKey g) => ZipWithKey (g :.: f) # | |
Defined in Data.Key Methods zipWithKey :: (Key (g :.: f) -> a -> b -> c) -> (g :.: f) a -> (g :.: f) b -> (g :.: f) c # zapWithKey :: (g :.: f) (Key (g :.: f) -> a -> b) -> (g :.: f) a -> (g :.: f) b # | |
ZipWithKey f => ZipWithKey (M1 i c f) # | |
Defined in Data.Key Methods zipWithKey :: (Key (M1 i c f) -> a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 # zapWithKey :: M1 i c f (Key (M1 i c f) -> a -> b) -> M1 i c f a -> M1 i c f b # |
Indexable functors
class Lookup f => Indexable f where #
Instances
Indexable ZipList # | |
Indexable Identity # | |
Indexable NonEmpty # | |
Indexable Par1 # | |
Indexable IntMap # | |
Indexable Seq # | |
Indexable Tree # | |
Indexable Maybe # | |
Indexable List # | |
Indexable (Proxy :: Type -> Type) # | |
Ix i => Indexable (Array i) # | |
Indexable (U1 :: Type -> Type) # | |
Ord k => Indexable (Map k) # | |
Indexable f => Indexable (Cofree f) # | |
(Eq k, Hashable k) => Indexable (HashMap k) # | |
Indexable (Const e :: Type -> Type) # | |
Indexable f => Indexable (Rec1 f) # | |
Indexable w => Indexable (TracedT s w) # | |
Indexable (Tagged a) # | |
Indexable m => Indexable (IdentityT m) # | |
Indexable m => Indexable (ReaderT e m) # | |
Indexable (Constant e :: Type -> Type) # | |
(Indexable f, Indexable g) => Indexable (Product f g) # | |
(Indexable f, Indexable g) => Indexable (Sum f g) # | |
(Indexable g, Indexable f) => Indexable (f :*: g) # | |
Indexable (K1 i c :: Type -> Type) # | |
Indexable ((->) a) # | |
(Indexable f, Indexable g) => Indexable (Compose f g) # | |
(Indexable g, Indexable f) => Indexable (g :.: f) # | |
Indexable f => Indexable (M1 i c f) # | |
Safe Lookup
Instances
Lookup ZipList # | |
Lookup Identity # | |
Lookup NonEmpty # | |
Lookup Par1 # | |
Lookup IntMap # | |
Lookup Seq # | |
Lookup Tree # | |
Lookup Maybe # | |
Lookup List # | |
Lookup (Proxy :: Type -> Type) # | |
Ix i => Lookup (Array i) # | |
Lookup (U1 :: Type -> Type) # | |
Ord k => Lookup (Map k) # | |
Lookup f => Lookup (Cofree f) # | |
Lookup f => Lookup (Free f) # | |
(Eq k, Hashable k) => Lookup (HashMap k) # | |
Lookup (Const e :: Type -> Type) # | |
Lookup f => Lookup (Rec1 f) # | |
Lookup w => Lookup (TracedT s w) # | |
Lookup (Tagged a) # | |
Lookup m => Lookup (IdentityT m) # | |
Lookup m => Lookup (ReaderT e m) # | |
Lookup (Constant e :: Type -> Type) # | |
(Lookup f, Lookup g) => Lookup (Product f g) # | |
(Lookup f, Lookup g) => Lookup (Sum f g) # | |
(Indexable g, Indexable f) => Lookup (f :*: g) # | |
Lookup (K1 i c :: Type -> Type) # | |
Lookup ((->) a) # | |
(Lookup f, Lookup g) => Lookup (Compose f g) # | |
(Indexable g, Indexable f) => Lookup (g :.: f) # | |
Lookup f => Lookup (M1 i c f) # | |
lookupDefault :: Indexable f => Key f -> f a -> Maybe a #
Adjustable
class Functor f => Adjustable f where #
Minimal complete definition
Instances
Adjustable ZipList # | |
Adjustable Identity # | |
Adjustable NonEmpty # | |
Adjustable Par1 # | |
Adjustable IntMap # | |
Adjustable Seq # | |
Adjustable Tree # | |
Adjustable List # | |
Adjustable (Proxy :: Type -> Type) # | |
Ix i => Adjustable (Array i) # | |
Adjustable (U1 :: Type -> Type) # | |
Ord k => Adjustable (Map k) # | |
Adjustable f => Adjustable (Cofree f) # | |
Adjustable f => Adjustable (Free f) # | |
Adjustable (Const e :: Type -> Type) # | |
Adjustable f => Adjustable (Rec1 f) # | |
Adjustable (Tagged a) # | |
Adjustable (Constant e :: Type -> Type) # | |
(Adjustable f, Adjustable g) => Adjustable (Product f g) # | |
(Adjustable f, Adjustable g) => Adjustable (Sum f g) # | |
(Adjustable f, Adjustable g) => Adjustable (f :*: g) # | |
(Adjustable f, Adjustable g) => Adjustable (f :+: g) # | |
Adjustable (K1 i c :: Type -> Type) # | |
(Adjustable f, Adjustable g) => Adjustable (g :.: f) # | |
Adjustable f => Adjustable (M1 i c f) # | |
FoldableWithKey
class Foldable t => FoldableWithKey t where #
Minimal complete definition
Methods
toKeyedList :: t a -> [(Key t, a)] #
foldMapWithKey :: Monoid m => (Key t -> a -> m) -> t a -> m #
foldrWithKey :: (Key t -> a -> b -> b) -> b -> t a -> b #
foldlWithKey :: (b -> Key t -> a -> b) -> b -> t a -> b #
Instances
FoldableWithKey ZipList # | |
Defined in Data.Key Methods toKeyedList :: ZipList a -> [(Key ZipList, a)] # foldMapWithKey :: Monoid m => (Key ZipList -> a -> m) -> ZipList a -> m # foldrWithKey :: (Key ZipList -> a -> b -> b) -> b -> ZipList a -> b # foldlWithKey :: (b -> Key ZipList -> a -> b) -> b -> ZipList a -> b # | |
FoldableWithKey Identity # | |
Defined in Data.Key Methods toKeyedList :: Identity a -> [(Key Identity, a)] # foldMapWithKey :: Monoid m => (Key Identity -> a -> m) -> Identity a -> m # foldrWithKey :: (Key Identity -> a -> b -> b) -> b -> Identity a -> b # foldlWithKey :: (b -> Key Identity -> a -> b) -> b -> Identity a -> b # | |
FoldableWithKey NonEmpty # | |
Defined in Data.Key Methods toKeyedList :: NonEmpty a -> [(Key NonEmpty, a)] # foldMapWithKey :: Monoid m => (Key NonEmpty -> a -> m) -> NonEmpty a -> m # foldrWithKey :: (Key NonEmpty -> a -> b -> b) -> b -> NonEmpty a -> b # foldlWithKey :: (b -> Key NonEmpty -> a -> b) -> b -> NonEmpty a -> b # | |
FoldableWithKey Par1 # | |
Defined in Data.Key Methods toKeyedList :: Par1 a -> [(Key Par1, a)] # foldMapWithKey :: Monoid m => (Key Par1 -> a -> m) -> Par1 a -> m # foldrWithKey :: (Key Par1 -> a -> b -> b) -> b -> Par1 a -> b # foldlWithKey :: (b -> Key Par1 -> a -> b) -> b -> Par1 a -> b # | |
FoldableWithKey IntMap # | |
Defined in Data.Key Methods toKeyedList :: IntMap a -> [(Key IntMap, a)] # foldMapWithKey :: Monoid m => (Key IntMap -> a -> m) -> IntMap a -> m # foldrWithKey :: (Key IntMap -> a -> b -> b) -> b -> IntMap a -> b # foldlWithKey :: (b -> Key IntMap -> a -> b) -> b -> IntMap a -> b # | |
FoldableWithKey Seq # | |
Defined in Data.Key Methods toKeyedList :: Seq a -> [(Key Seq, a)] # foldMapWithKey :: Monoid m => (Key Seq -> a -> m) -> Seq a -> m # foldrWithKey :: (Key Seq -> a -> b -> b) -> b -> Seq a -> b # foldlWithKey :: (b -> Key Seq -> a -> b) -> b -> Seq a -> b # | |
FoldableWithKey Tree # | |
Defined in Data.Key Methods toKeyedList :: Tree a -> [(Key Tree, a)] # foldMapWithKey :: Monoid m => (Key Tree -> a -> m) -> Tree a -> m # foldrWithKey :: (Key Tree -> a -> b -> b) -> b -> Tree a -> b # foldlWithKey :: (b -> Key Tree -> a -> b) -> b -> Tree a -> b # | |
FoldableWithKey Maybe # | |
Defined in Data.Key Methods toKeyedList :: Maybe a -> [(Key Maybe, a)] # foldMapWithKey :: Monoid m => (Key Maybe -> a -> m) -> Maybe a -> m # foldrWithKey :: (Key Maybe -> a -> b -> b) -> b -> Maybe a -> b # foldlWithKey :: (b -> Key Maybe -> a -> b) -> b -> Maybe a -> b # | |
FoldableWithKey List # | |
Defined in Data.Key Methods toKeyedList :: [a] -> [(Key List, a)] # foldMapWithKey :: Monoid m => (Key List -> a -> m) -> [a] -> m # foldrWithKey :: (Key List -> a -> b -> b) -> b -> [a] -> b # foldlWithKey :: (b -> Key List -> a -> b) -> b -> [a] -> b # | |
FoldableWithKey (Proxy :: Type -> Type) # | |
Defined in Data.Key Methods toKeyedList :: Proxy a -> [(Key Proxy, a)] # foldMapWithKey :: Monoid m => (Key Proxy -> a -> m) -> Proxy a -> m # foldrWithKey :: (Key Proxy -> a -> b -> b) -> b -> Proxy a -> b # foldlWithKey :: (b -> Key Proxy -> a -> b) -> b -> Proxy a -> b # | |
Ix i => FoldableWithKey (Array i) # | |
Defined in Data.Key Methods toKeyedList :: Array i a -> [(Key (Array i), a)] # foldMapWithKey :: Monoid m => (Key (Array i) -> a -> m) -> Array i a -> m # foldrWithKey :: (Key (Array i) -> a -> b -> b) -> b -> Array i a -> b # foldlWithKey :: (b -> Key (Array i) -> a -> b) -> b -> Array i a -> b # | |
FoldableWithKey (U1 :: Type -> Type) # | |
Defined in Data.Key Methods toKeyedList :: U1 a -> [(Key U1, a)] # foldMapWithKey :: Monoid m => (Key U1 -> a -> m) -> U1 a -> m # foldrWithKey :: (Key U1 -> a -> b -> b) -> b -> U1 a -> b # foldlWithKey :: (b -> Key U1 -> a -> b) -> b -> U1 a -> b # | |
FoldableWithKey (V1 :: Type -> Type) # | |
Defined in Data.Key Methods toKeyedList :: V1 a -> [(Key V1, a)] # foldMapWithKey :: Monoid m => (Key V1 -> a -> m) -> V1 a -> m # foldrWithKey :: (Key V1 -> a -> b -> b) -> b -> V1 a -> b # foldlWithKey :: (b -> Key V1 -> a -> b) -> b -> V1 a -> b # | |
FoldableWithKey (Map k) # | |
Defined in Data.Key Methods toKeyedList :: Map k a -> [(Key (Map k), a)] # foldMapWithKey :: Monoid m => (Key (Map k) -> a -> m) -> Map k a -> m # foldrWithKey :: (Key (Map k) -> a -> b -> b) -> b -> Map k a -> b # foldlWithKey :: (b -> Key (Map k) -> a -> b) -> b -> Map k a -> b # | |
FoldableWithKey f => FoldableWithKey (Cofree f) # | |
Defined in Data.Key Methods toKeyedList :: Cofree f a -> [(Key (Cofree f), a)] # foldMapWithKey :: Monoid m => (Key (Cofree f) -> a -> m) -> Cofree f a -> m # foldrWithKey :: (Key (Cofree f) -> a -> b -> b) -> b -> Cofree f a -> b # foldlWithKey :: (b -> Key (Cofree f) -> a -> b) -> b -> Cofree f a -> b # | |
FoldableWithKey f => FoldableWithKey (Free f) # | |
FoldableWithKey (HashMap k) # | |
Defined in Data.Key Methods toKeyedList :: HashMap k a -> [(Key (HashMap k), a)] # foldMapWithKey :: Monoid m => (Key (HashMap k) -> a -> m) -> HashMap k a -> m # foldrWithKey :: (Key (HashMap k) -> a -> b -> b) -> b -> HashMap k a -> b # foldlWithKey :: (b -> Key (HashMap k) -> a -> b) -> b -> HashMap k a -> b # | |
FoldableWithKey ((,) k) # | |
Defined in Data.Key Methods toKeyedList :: (k, a) -> [(Key ((,) k), a)] # foldMapWithKey :: Monoid m => (Key ((,) k) -> a -> m) -> (k, a) -> m # foldrWithKey :: (Key ((,) k) -> a -> b -> b) -> b -> (k, a) -> b # foldlWithKey :: (b -> Key ((,) k) -> a -> b) -> b -> (k, a) -> b # | |
FoldableWithKey (Const e :: Type -> Type) # | |
Defined in Data.Key Methods toKeyedList :: Const e a -> [(Key (Const e), a)] # foldMapWithKey :: Monoid m => (Key (Const e) -> a -> m) -> Const e a -> m # foldrWithKey :: (Key (Const e) -> a -> b -> b) -> b -> Const e a -> b # foldlWithKey :: (b -> Key (Const e) -> a -> b) -> b -> Const e a -> b # | |
FoldableWithKey f => FoldableWithKey (Rec1 f) # | |
Defined in Data.Key Methods toKeyedList :: Rec1 f a -> [(Key (Rec1 f), a)] # foldMapWithKey :: Monoid m => (Key (Rec1 f) -> a -> m) -> Rec1 f a -> m # foldrWithKey :: (Key (Rec1 f) -> a -> b -> b) -> b -> Rec1 f a -> b # foldlWithKey :: (b -> Key (Rec1 f) -> a -> b) -> b -> Rec1 f a -> b # | |
FoldableWithKey (Tagged a) # | |
Defined in Data.Key Methods toKeyedList :: Tagged a a0 -> [(Key (Tagged a), a0)] # foldMapWithKey :: Monoid m => (Key (Tagged a) -> a0 -> m) -> Tagged a a0 -> m # foldrWithKey :: (Key (Tagged a) -> a0 -> b -> b) -> b -> Tagged a a0 -> b # foldlWithKey :: (b -> Key (Tagged a) -> a0 -> b) -> b -> Tagged a a0 -> b # | |
FoldableWithKey m => FoldableWithKey (IdentityT m) # | |
Defined in Data.Key Methods toKeyedList :: IdentityT m a -> [(Key (IdentityT m), a)] # foldMapWithKey :: Monoid m0 => (Key (IdentityT m) -> a -> m0) -> IdentityT m a -> m0 # foldrWithKey :: (Key (IdentityT m) -> a -> b -> b) -> b -> IdentityT m a -> b # foldlWithKey :: (b -> Key (IdentityT m) -> a -> b) -> b -> IdentityT m a -> b # | |
FoldableWithKey (Constant e :: Type -> Type) # | |
Defined in Data.Key Methods toKeyedList :: Constant e a -> [(Key (Constant e), a)] # foldMapWithKey :: Monoid m => (Key (Constant e) -> a -> m) -> Constant e a -> m # foldrWithKey :: (Key (Constant e) -> a -> b -> b) -> b -> Constant e a -> b # foldlWithKey :: (b -> Key (Constant e) -> a -> b) -> b -> Constant e a -> b # | |
(FoldableWithKey f, FoldableWithKey g) => FoldableWithKey (Product f g) # | |
Defined in Data.Key Methods toKeyedList :: Product f g a -> [(Key (Product f g), a)] # foldMapWithKey :: Monoid m => (Key (Product f g) -> a -> m) -> Product f g a -> m # foldrWithKey :: (Key (Product f g) -> a -> b -> b) -> b -> Product f g a -> b # foldlWithKey :: (b -> Key (Product f g) -> a -> b) -> b -> Product f g a -> b # | |
(FoldableWithKey f, FoldableWithKey g) => FoldableWithKey (Sum f g) # | |
Defined in Data.Key Methods toKeyedList :: Sum f g a -> [(Key (Sum f g), a)] # foldMapWithKey :: Monoid m => (Key (Sum f g) -> a -> m) -> Sum f g a -> m # foldrWithKey :: (Key (Sum f g) -> a -> b -> b) -> b -> Sum f g a -> b # foldlWithKey :: (b -> Key (Sum f g) -> a -> b) -> b -> Sum f g a -> b # | |
(FoldableWithKey f, FoldableWithKey g) => FoldableWithKey (f :*: g) # | |
Defined in Data.Key Methods toKeyedList :: (f :*: g) a -> [(Key (f :*: g), a)] # foldMapWithKey :: Monoid m => (Key (f :*: g) -> a -> m) -> (f :*: g) a -> m # foldrWithKey :: (Key (f :*: g) -> a -> b -> b) -> b -> (f :*: g) a -> b # foldlWithKey :: (b -> Key (f :*: g) -> a -> b) -> b -> (f :*: g) a -> b # | |
(FoldableWithKey f, FoldableWithKey g) => FoldableWithKey (f :+: g) # | |
Defined in Data.Key Methods toKeyedList :: (f :+: g) a -> [(Key (f :+: g), a)] # foldMapWithKey :: Monoid m => (Key (f :+: g) -> a -> m) -> (f :+: g) a -> m # foldrWithKey :: (Key (f :+: g) -> a -> b -> b) -> b -> (f :+: g) a -> b # foldlWithKey :: (b -> Key (f :+: g) -> a -> b) -> b -> (f :+: g) a -> b # | |
FoldableWithKey (K1 i c :: Type -> Type) # | |
Defined in Data.Key Methods toKeyedList :: K1 i c a -> [(Key (K1 i c), a)] # foldMapWithKey :: Monoid m => (Key (K1 i c) -> a -> m) -> K1 i c a -> m # foldrWithKey :: (Key (K1 i c) -> a -> b -> b) -> b -> K1 i c a -> b # foldlWithKey :: (b -> Key (K1 i c) -> a -> b) -> b -> K1 i c a -> b # | |
(FoldableWithKey f, FoldableWithKey m) => FoldableWithKey (Compose f m) # | |
Defined in Data.Key Methods toKeyedList :: Compose f m a -> [(Key (Compose f m), a)] # foldMapWithKey :: Monoid m0 => (Key (Compose f m) -> a -> m0) -> Compose f m a -> m0 # foldrWithKey :: (Key (Compose f m) -> a -> b -> b) -> b -> Compose f m a -> b # foldlWithKey :: (b -> Key (Compose f m) -> a -> b) -> b -> Compose f m a -> b # | |
FoldableWithKey f => FoldableWithKey (M1 i c f) # | |
Defined in Data.Key Methods toKeyedList :: M1 i c f a -> [(Key (M1 i c f), a)] # foldMapWithKey :: Monoid m => (Key (M1 i c f) -> a -> m) -> M1 i c f a -> m # foldrWithKey :: (Key (M1 i c f) -> a -> b -> b) -> b -> M1 i c f a -> b # foldlWithKey :: (b -> Key (M1 i c f) -> a -> b) -> b -> M1 i c f a -> b # |
foldrWithKey' :: FoldableWithKey t => (Key t -> a -> b -> b) -> b -> t a -> b #
foldlWithKey' :: FoldableWithKey t => (b -> Key t -> a -> b) -> b -> t a -> b #
foldrWithKeyM :: (FoldableWithKey t, Monad m) => (Key t -> a -> b -> m b) -> b -> t a -> m b #
foldlWithKeyM :: (FoldableWithKey t, Monad m) => (b -> Key t -> a -> m b) -> b -> t a -> m b #
traverseWithKey_ :: (FoldableWithKey t, Applicative f) => (Key t -> a -> f b) -> t a -> f () #
forWithKey_ :: (FoldableWithKey t, Applicative f) => t a -> (Key t -> a -> f b) -> f () #
mapWithKeyM_ :: (FoldableWithKey t, Monad m) => (Key t -> a -> m b) -> t a -> m () #
forWithKeyM_ :: (FoldableWithKey t, Monad m) => t a -> (Key t -> a -> m b) -> m () #
concatMapWithKey :: FoldableWithKey t => (Key t -> a -> [b]) -> t a -> [b] #
anyWithKey :: FoldableWithKey t => (Key t -> a -> Bool) -> t a -> Bool #
allWithKey :: FoldableWithKey t => (Key t -> a -> Bool) -> t a -> Bool #
findWithKey :: FoldableWithKey t => (Key t -> a -> Bool) -> t a -> Maybe a #
FoldableWithKey1
class (Foldable1 t, FoldableWithKey t) => FoldableWithKey1 t where #
Methods
foldMapWithKey1 :: Semigroup m => (Key t -> a -> m) -> t a -> m #
Instances
FoldableWithKey1 Identity # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key Identity -> a -> m) -> Identity a -> m # | |
FoldableWithKey1 NonEmpty # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key NonEmpty -> a -> m) -> NonEmpty a -> m # | |
FoldableWithKey1 Par1 # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key Par1 -> a -> m) -> Par1 a -> m # | |
FoldableWithKey1 Tree # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key Tree -> a -> m) -> Tree a -> m # | |
FoldableWithKey1 (V1 :: Type -> Type) # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key V1 -> a -> m) -> V1 a -> m # | |
FoldableWithKey1 f => FoldableWithKey1 (Cofree f) # | |
FoldableWithKey1 f => FoldableWithKey1 (Free f) # | |
FoldableWithKey1 ((,) k) # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key ((,) k) -> a -> m) -> (k, a) -> m # | |
FoldableWithKey1 f => FoldableWithKey1 (Rec1 f) # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key (Rec1 f) -> a -> m) -> Rec1 f a -> m # | |
FoldableWithKey1 (Tagged a) # | |
FoldableWithKey1 m => FoldableWithKey1 (IdentityT m) # | |
(FoldableWithKey1 f, FoldableWithKey1 g) => FoldableWithKey1 (Product f g) # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key (Product f g) -> a -> m) -> Product f g a -> m # | |
(FoldableWithKey1 f, FoldableWithKey1 g) => FoldableWithKey1 (Sum f g) # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key (Sum f g) -> a -> m) -> Sum f g a -> m # | |
(FoldableWithKey1 f, FoldableWithKey1 g) => FoldableWithKey1 (f :*: g) # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key (f :*: g) -> a -> m) -> (f :*: g) a -> m # | |
(FoldableWithKey1 f, FoldableWithKey1 g) => FoldableWithKey1 (f :+: g) # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key (f :+: g) -> a -> m) -> (f :+: g) a -> m # | |
(FoldableWithKey1 f, FoldableWithKey1 m) => FoldableWithKey1 (Compose f m) # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m0 => (Key (Compose f m) -> a -> m0) -> Compose f m a -> m0 # | |
FoldableWithKey1 f => FoldableWithKey1 (M1 i c f) # | |
Defined in Data.Key Methods foldMapWithKey1 :: Semigroup m => (Key (M1 i c f) -> a -> m) -> M1 i c f a -> m # |
traverseWithKey1_ :: (FoldableWithKey1 t, Apply f) => (Key t -> a -> f b) -> t a -> f () #
forWithKey1_ :: (FoldableWithKey1 t, Apply f) => t a -> (Key t -> a -> f b) -> f () #
foldMapWithKeyDefault1 :: (FoldableWithKey1 t, Monoid m) => (Key t -> a -> m) -> t a -> m #
TraversableWithKey
class (Keyed t, FoldableWithKey t, Traversable t) => TraversableWithKey t where #
Minimal complete definition
Methods
traverseWithKey :: Applicative f => (Key t -> a -> f b) -> t a -> f (t b) #
mapWithKeyM :: Monad m => (Key t -> a -> m b) -> t a -> m (t b) #
Instances
TraversableWithKey ZipList # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key ZipList -> a -> f b) -> ZipList a -> f (ZipList b) # mapWithKeyM :: Monad m => (Key ZipList -> a -> m b) -> ZipList a -> m (ZipList b) # | |
TraversableWithKey Identity # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key Identity -> a -> f b) -> Identity a -> f (Identity b) # mapWithKeyM :: Monad m => (Key Identity -> a -> m b) -> Identity a -> m (Identity b) # | |
TraversableWithKey NonEmpty # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key NonEmpty -> a -> f b) -> NonEmpty a -> f (NonEmpty b) # mapWithKeyM :: Monad m => (Key NonEmpty -> a -> m b) -> NonEmpty a -> m (NonEmpty b) # | |
TraversableWithKey Par1 # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key Par1 -> a -> f b) -> Par1 a -> f (Par1 b) # mapWithKeyM :: Monad m => (Key Par1 -> a -> m b) -> Par1 a -> m (Par1 b) # | |
TraversableWithKey IntMap # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key IntMap -> a -> f b) -> IntMap a -> f (IntMap b) # mapWithKeyM :: Monad m => (Key IntMap -> a -> m b) -> IntMap a -> m (IntMap b) # | |
TraversableWithKey Seq # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key Seq -> a -> f b) -> Seq a -> f (Seq b) # mapWithKeyM :: Monad m => (Key Seq -> a -> m b) -> Seq a -> m (Seq b) # | |
TraversableWithKey Tree # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key Tree -> a -> f b) -> Tree a -> f (Tree b) # mapWithKeyM :: Monad m => (Key Tree -> a -> m b) -> Tree a -> m (Tree b) # | |
TraversableWithKey Maybe # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key Maybe -> a -> f b) -> Maybe a -> f (Maybe b) # mapWithKeyM :: Monad m => (Key Maybe -> a -> m b) -> Maybe a -> m (Maybe b) # | |
TraversableWithKey List # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key List -> a -> f b) -> [a] -> f [b] # mapWithKeyM :: Monad m => (Key List -> a -> m b) -> [a] -> m [b] # | |
TraversableWithKey (Proxy :: Type -> Type) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key Proxy -> a -> f b) -> Proxy a -> f (Proxy b) # mapWithKeyM :: Monad m => (Key Proxy -> a -> m b) -> Proxy a -> m (Proxy b) # | |
Ix i => TraversableWithKey (Array i) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key (Array i) -> a -> f b) -> Array i a -> f (Array i b) # mapWithKeyM :: Monad m => (Key (Array i) -> a -> m b) -> Array i a -> m (Array i b) # | |
TraversableWithKey (U1 :: Type -> Type) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key U1 -> a -> f b) -> U1 a -> f (U1 b) # mapWithKeyM :: Monad m => (Key U1 -> a -> m b) -> U1 a -> m (U1 b) # | |
TraversableWithKey (V1 :: Type -> Type) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key V1 -> a -> f b) -> V1 a -> f (V1 b) # mapWithKeyM :: Monad m => (Key V1 -> a -> m b) -> V1 a -> m (V1 b) # | |
TraversableWithKey (Map k) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key (Map k) -> a -> f b) -> Map k a -> f (Map k b) # mapWithKeyM :: Monad m => (Key (Map k) -> a -> m b) -> Map k a -> m (Map k b) # | |
TraversableWithKey f => TraversableWithKey (Cofree f) # | |
TraversableWithKey f => TraversableWithKey (Free f) # | |
TraversableWithKey (HashMap k) # | |
TraversableWithKey ((,) k) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key ((,) k) -> a -> f b) -> (k, a) -> f (k, b) # mapWithKeyM :: Monad m => (Key ((,) k) -> a -> m b) -> (k, a) -> m (k, b) # | |
TraversableWithKey (Const e :: Type -> Type) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key (Const e) -> a -> f b) -> Const e a -> f (Const e b) # mapWithKeyM :: Monad m => (Key (Const e) -> a -> m b) -> Const e a -> m (Const e b) # | |
TraversableWithKey f => TraversableWithKey (Rec1 f) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f0 => (Key (Rec1 f) -> a -> f0 b) -> Rec1 f a -> f0 (Rec1 f b) # mapWithKeyM :: Monad m => (Key (Rec1 f) -> a -> m b) -> Rec1 f a -> m (Rec1 f b) # | |
TraversableWithKey (Tagged a) # | |
TraversableWithKey m => TraversableWithKey (IdentityT m) # | |
TraversableWithKey (Constant e :: Type -> Type) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key (Constant e) -> a -> f b) -> Constant e a -> f (Constant e b) # mapWithKeyM :: Monad m => (Key (Constant e) -> a -> m b) -> Constant e a -> m (Constant e b) # | |
(TraversableWithKey f, TraversableWithKey g) => TraversableWithKey (Product f g) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f0 => (Key (Product f g) -> a -> f0 b) -> Product f g a -> f0 (Product f g b) # mapWithKeyM :: Monad m => (Key (Product f g) -> a -> m b) -> Product f g a -> m (Product f g b) # | |
(TraversableWithKey f, TraversableWithKey g) => TraversableWithKey (Sum f g) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f0 => (Key (Sum f g) -> a -> f0 b) -> Sum f g a -> f0 (Sum f g b) # mapWithKeyM :: Monad m => (Key (Sum f g) -> a -> m b) -> Sum f g a -> m (Sum f g b) # | |
(TraversableWithKey f, TraversableWithKey g) => TraversableWithKey (f :*: g) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f0 => (Key (f :*: g) -> a -> f0 b) -> (f :*: g) a -> f0 ((f :*: g) b) # mapWithKeyM :: Monad m => (Key (f :*: g) -> a -> m b) -> (f :*: g) a -> m ((f :*: g) b) # | |
(TraversableWithKey f, TraversableWithKey g) => TraversableWithKey (f :+: g) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f0 => (Key (f :+: g) -> a -> f0 b) -> (f :+: g) a -> f0 ((f :+: g) b) # mapWithKeyM :: Monad m => (Key (f :+: g) -> a -> m b) -> (f :+: g) a -> m ((f :+: g) b) # | |
TraversableWithKey (K1 i c :: Type -> Type) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f => (Key (K1 i c) -> a -> f b) -> K1 i c a -> f (K1 i c b) # mapWithKeyM :: Monad m => (Key (K1 i c) -> a -> m b) -> K1 i c a -> m (K1 i c b) # | |
(TraversableWithKey f, TraversableWithKey m) => TraversableWithKey (Compose f m) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f0 => (Key (Compose f m) -> a -> f0 b) -> Compose f m a -> f0 (Compose f m b) # mapWithKeyM :: Monad m0 => (Key (Compose f m) -> a -> m0 b) -> Compose f m a -> m0 (Compose f m b) # | |
TraversableWithKey f => TraversableWithKey (M1 i c f) # | |
Defined in Data.Key Methods traverseWithKey :: Applicative f0 => (Key (M1 i c f) -> a -> f0 b) -> M1 i c f a -> f0 (M1 i c f b) # mapWithKeyM :: Monad m => (Key (M1 i c f) -> a -> m b) -> M1 i c f a -> m (M1 i c f b) # |
forWithKey :: (TraversableWithKey t, Applicative f) => t a -> (Key t -> a -> f b) -> f (t b) #
forWithKeyM :: (TraversableWithKey t, Monad m) => t a -> (Key t -> a -> m b) -> m (t b) #
mapAccumWithKeyL :: TraversableWithKey t => (Key t -> a -> b -> (a, c)) -> a -> t b -> (a, t c) #
The mapAccumWithKeyL
function behaves like a combination of mapWithKey
and foldlWithKey
; it applies a function to each element of a structure,
passing an accumulating parameter from left to right, and returning
a final value of this accumulator together with the new structure.
mapAccumWithKeyR :: TraversableWithKey t => (Key t -> a -> b -> (a, c)) -> a -> t b -> (a, t c) #
The mapAccumWithKeyR
function behaves like a combination of mapWithKey
and foldrWithKey
; it applies a function to each element of a structure,
passing an accumulating parameter from right to left, and returning
a final value of this accumulator together with the new structure.
mapWithKeyDefault :: TraversableWithKey t => (Key t -> a -> b) -> t a -> t b #
foldMapWithKeyDefault :: (TraversableWithKey t, Monoid m) => (Key t -> a -> m) -> t a -> m #
This function may be used as a value for foldMapWithKey
in a FoldableWithKey
instance.
TraversableWithKey1
class (Traversable1 t, FoldableWithKey1 t, TraversableWithKey t) => TraversableWithKey1 t where #
Methods
traverseWithKey1 :: Apply f => (Key t -> a -> f b) -> t a -> f (t b) #
Instances
TraversableWithKey1 Identity # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f => (Key Identity -> a -> f b) -> Identity a -> f (Identity b) # | |
TraversableWithKey1 NonEmpty # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f => (Key NonEmpty -> a -> f b) -> NonEmpty a -> f (NonEmpty b) # | |
TraversableWithKey1 Par1 # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f => (Key Par1 -> a -> f b) -> Par1 a -> f (Par1 b) # | |
TraversableWithKey1 Tree # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f => (Key Tree -> a -> f b) -> Tree a -> f (Tree b) # | |
TraversableWithKey1 (V1 :: Type -> Type) # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f => (Key V1 -> a -> f b) -> V1 a -> f (V1 b) # | |
TraversableWithKey1 f => TraversableWithKey1 (Cofree f) # | |
TraversableWithKey1 f => TraversableWithKey1 (Free f) # | |
TraversableWithKey1 ((,) k) # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f => (Key ((,) k) -> a -> f b) -> (k, a) -> f (k, b) # | |
TraversableWithKey1 f => TraversableWithKey1 (Rec1 f) # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f0 => (Key (Rec1 f) -> a -> f0 b) -> Rec1 f a -> f0 (Rec1 f b) # | |
TraversableWithKey1 (Tagged a) # | |
TraversableWithKey1 m => TraversableWithKey1 (IdentityT m) # | |
(TraversableWithKey1 f, TraversableWithKey1 g) => TraversableWithKey1 (Product f g) # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f0 => (Key (Product f g) -> a -> f0 b) -> Product f g a -> f0 (Product f g b) # | |
(TraversableWithKey1 f, TraversableWithKey1 g) => TraversableWithKey1 (Sum f g) # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f0 => (Key (Sum f g) -> a -> f0 b) -> Sum f g a -> f0 (Sum f g b) # | |
(TraversableWithKey1 f, TraversableWithKey1 g) => TraversableWithKey1 (f :*: g) # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f0 => (Key (f :*: g) -> a -> f0 b) -> (f :*: g) a -> f0 ((f :*: g) b) # | |
(TraversableWithKey1 f, TraversableWithKey1 g) => TraversableWithKey1 (f :+: g) # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f0 => (Key (f :+: g) -> a -> f0 b) -> (f :+: g) a -> f0 ((f :+: g) b) # | |
(TraversableWithKey1 f, TraversableWithKey1 m) => TraversableWithKey1 (Compose f m) # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f0 => (Key (Compose f m) -> a -> f0 b) -> Compose f m a -> f0 (Compose f m b) # | |
TraversableWithKey1 f => TraversableWithKey1 (M1 i c f) # | |
Defined in Data.Key Methods traverseWithKey1 :: Apply f0 => (Key (M1 i c f) -> a -> f0 b) -> M1 i c f a -> f0 (M1 i c f b) # |
foldMapWithKey1Default :: (TraversableWithKey1 t, Semigroup m) => (Key t -> a -> m) -> t a -> m #