diff options
Diffstat (limited to 'src/Data/Dependent/EnumMap/Strict/Internal.hs')
-rw-r--r-- | src/Data/Dependent/EnumMap/Strict/Internal.hs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/Data/Dependent/EnumMap/Strict/Internal.hs b/src/Data/Dependent/EnumMap/Strict/Internal.hs index ab32a31..bb1ee29 100644 --- a/src/Data/Dependent/EnumMap/Strict/Internal.hs +++ b/src/Data/Dependent/EnumMap/Strict/Internal.hs @@ -417,12 +417,12 @@ foldr f acc0 (DEnumMap m) = IM.foldr (\(KV _ v) acc -> f v acc) acc0 m foldl :: (forall a. acc -> v a -> acc) -> acc -> DEnumMap k v -> acc foldl f acc0 (DEnumMap m) = IM.foldl (\acc (KV _ v) -> f acc v) acc0 m -foldrWith :: Enum1 k => (forall a. k a -> v a -> acc -> acc) -> acc -> DEnumMap k v -> acc -foldrWith f acc0 (DEnumMap m) = +foldrWithKey :: Enum1 k => (forall a. k a -> v a -> acc -> acc) -> acc -> DEnumMap k v -> acc +foldrWithKey f acc0 (DEnumMap m) = IM.foldrWithKey (\i (KV inf v) acc -> case toEnum1 i inf of Some k -> f k (coe1 v) acc) acc0 m -foldlWith :: Enum1 k => (forall a. acc -> k a -> v a -> acc) -> acc -> DEnumMap k v -> acc -foldlWith f acc0 (DEnumMap m) = +foldlWithKey :: Enum1 k => (forall a. acc -> k a -> v a -> acc) -> acc -> DEnumMap k v -> acc +foldlWithKey f acc0 (DEnumMap m) = IM.foldlWithKey (\acc i (KV inf v) -> case toEnum1 i inf of Some k -> f acc k (coe1 v)) acc0 m foldMapWithKey :: (Monoid m, Enum1 k) => (forall a. k a -> v a -> m) -> DEnumMap k v -> m @@ -437,12 +437,12 @@ foldr' f acc0 (DEnumMap m) = IM.foldr' (\(KV _ v) acc -> f v acc) acc0 m foldl' :: (forall a. acc -> v a -> acc) -> acc -> DEnumMap k v -> acc foldl' f acc0 (DEnumMap m) = IM.foldl' (\acc (KV _ v) -> f acc v) acc0 m -foldrWith' :: Enum1 k => (forall a. k a -> v a -> acc -> acc) -> acc -> DEnumMap k v -> acc -foldrWith' f acc0 (DEnumMap m) = +foldrWithKey' :: Enum1 k => (forall a. k a -> v a -> acc -> acc) -> acc -> DEnumMap k v -> acc +foldrWithKey' f acc0 (DEnumMap m) = IM.foldrWithKey' (\i (KV inf v) acc -> case toEnum1 i inf of Some k -> f k (coe1 v) acc) acc0 m -foldlWith' :: Enum1 k => (forall a. acc -> k a -> v a -> acc) -> acc -> DEnumMap k v -> acc -foldlWith' f acc0 (DEnumMap m) = +foldlWithKey' :: Enum1 k => (forall a. acc -> k a -> v a -> acc) -> acc -> DEnumMap k v -> acc +foldlWithKey' f acc0 (DEnumMap m) = IM.foldlWithKey' (\acc i (KV inf v) -> case toEnum1 i inf of Some k -> f acc k (coe1 v)) acc0 m -- * Conversion @@ -474,8 +474,6 @@ toDescList (DEnumMap m) = kVToDSum <$> IM.toDescList m -- * Filter --- filter - filter :: (forall a. v a -> Bool) -> DEnumMap k v -> DEnumMap k v filter f (DEnumMap m) = DEnumMap (IM.filter (\(KV _ v) -> f v) m) |