summaryrefslogtreecommitdiff
path: root/src/Data/Dependent/EnumMap/Strict
diff options
context:
space:
mode:
authorMikolaj Konarski <mikolaj.konarski@funktory.com>2025-05-10 21:49:25 +0200
committerMikolaj Konarski <mikolaj.konarski@funktory.com>2025-05-10 21:49:25 +0200
commit7beccc54642a793507a2b2a1349dd61cc86a73e7 (patch)
treeaa7ef0cc5de691adf4ca7fdc22b702b75ea664fb /src/Data/Dependent/EnumMap/Strict
parent959162c251fe2a0b4847324f54ebe01ef20574a1 (diff)
Expose all the implemented operations
Diffstat (limited to 'src/Data/Dependent/EnumMap/Strict')
-rw-r--r--src/Data/Dependent/EnumMap/Strict/Internal.hs18
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)