Skip to content

Commit 23d6ffd

Browse files
committed
rename filterMap to mapMaybe to match convention with other modules
1 parent 576aac4 commit 23d6ffd

File tree

8 files changed

+47
-47
lines changed

8 files changed

+47
-47
lines changed

Data/Vector.hs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ module Data.Vector (
113113

114114
-- ** Filtering
115115
filter, ifilter,
116-
filterMap, ifilterMap,
116+
mapMaybe, imapMaybe,
117117
filterM,
118118
takeWhile, dropWhile,
119119

@@ -1082,14 +1082,14 @@ ifilter :: (Int -> a -> Bool) -> Vector a -> Vector a
10821082
ifilter = G.ifilter
10831083

10841084
-- | /O(n)/ Drop elements when predicate returns Nothing
1085-
filterMap :: (a -> Maybe b) -> Vector a -> Vector b
1086-
{-# INLINE filterMap #-}
1087-
filterMap = G.filterMap
1085+
mapMaybe :: (a -> Maybe b) -> Vector a -> Vector b
1086+
{-# INLINE mapMaybe #-}
1087+
mapMaybe = G.mapMaybe
10881088

10891089
-- | /O(n)/ Drop elements when predicate, applied to index and value, returns Nothing
1090-
ifilterMap :: (Int -> a -> Maybe b) -> Vector a -> Vector b
1091-
{-# INLINE ifilterMap #-}
1092-
ifilterMap = G.ifilterMap
1090+
imapMaybe :: (Int -> a -> Maybe b) -> Vector a -> Vector b
1091+
{-# INLINE imapMaybe #-}
1092+
imapMaybe = G.imapMaybe
10931093

10941094
-- | /O(n)/ Drop elements that do not satisfy the monadic predicate
10951095
filterM :: Monad m => (a -> m Bool) -> Vector a -> m (Vector a)

Data/Vector/Fusion/Stream/Monadic.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ module Data.Vector.Fusion.Stream.Monadic (
4040
eq, cmp,
4141

4242
-- * Filtering
43-
filter, filterM, filterMap, takeWhile, takeWhileM, dropWhile, dropWhileM,
43+
filter, filterM, mapMaybe, takeWhile, takeWhileM, dropWhile, dropWhileM,
4444

4545
-- * Searching
4646
elem, notElem, find, findM, findIndex, findIndexM,
@@ -676,9 +676,9 @@ filter :: Monad m => (a -> Bool) -> Stream m a -> Stream m a
676676
{-# INLINE filter #-}
677677
filter f = filterM (return . f)
678678

679-
filterMap :: Monad m => (a -> Maybe b) -> Stream m a -> Stream m b
680-
{-# INLINE_FUSED filterMap #-}
681-
filterMap f (Stream step t) = Stream step' t
679+
mapMaybe :: Monad m => (a -> Maybe b) -> Stream m a -> Stream m b
680+
{-# INLINE_FUSED mapMaybe #-}
681+
mapMaybe f (Stream step t) = Stream step' t
682682
where
683683
{-# INLINE_INNER step' #-}
684684
step' s = do

Data/Vector/Generic.hs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ module Data.Vector.Generic (
9696

9797
-- ** Filtering
9898
filter, ifilter,
99-
filterMap, ifilterMap,
99+
mapMaybe, imapMaybe,
100100
filterM,
101101
takeWhile, dropWhile,
102102

@@ -1278,15 +1278,15 @@ ifilter f = unstream
12781278
. stream
12791279

12801280
-- | /O(n)/ Drop elements when predicate returns Nothing
1281-
filterMap :: (Vector v a, Vector v b) => (a -> Maybe b) -> v a -> v b
1282-
{-# INLINE filterMap #-}
1283-
filterMap f = unstream . inplace (S.filterMap f) toMax . stream
1281+
mapMaybe :: (Vector v a, Vector v b) => (a -> Maybe b) -> v a -> v b
1282+
{-# INLINE mapMaybe #-}
1283+
mapMaybe f = unstream . inplace (S.mapMaybe f) toMax . stream
12841284

12851285
-- | /O(n)/ Drop elements when predicate, applied to index and value, returns Nothing
1286-
ifilterMap :: (Vector v a, Vector v b) => (Int -> a -> Maybe b) -> v a -> v b
1287-
{-# INLINE ifilterMap #-}
1288-
ifilterMap f = unstream
1289-
. inplace (S.filterMap (uncurry f) . S.indexed) toMax
1286+
imapMaybe :: (Vector v a, Vector v b) => (Int -> a -> Maybe b) -> v a -> v b
1287+
{-# INLINE imapMaybe #-}
1288+
imapMaybe f = unstream
1289+
. inplace (S.mapMaybe (uncurry f) . S.indexed) toMax
12901290
. stream
12911291

12921292

Data/Vector/Primitive.hs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ module Data.Vector.Primitive (
9292

9393
-- ** Filtering
9494
filter, ifilter,
95-
filterMap, ifilterMap,
95+
mapMaybe, imapMaybe,
9696
filterM,
9797
takeWhile, dropWhile,
9898

@@ -890,14 +890,14 @@ ifilter :: Prim a => (Int -> a -> Bool) -> Vector a -> Vector a
890890
ifilter = G.ifilter
891891

892892
-- | /O(n)/ Drop elements when predicate returns Nothing
893-
filterMap :: (Prim a, Prim b) => (a -> Maybe b) -> Vector a -> Vector b
894-
{-# INLINE filterMap #-}
895-
filterMap = G.filterMap
893+
mapMaybe :: (Prim a, Prim b) => (a -> Maybe b) -> Vector a -> Vector b
894+
{-# INLINE mapMaybe #-}
895+
mapMaybe = G.mapMaybe
896896

897897
-- | /O(n)/ Drop elements when predicate, applied to index and value, returns Nothing
898-
ifilterMap :: (Prim a, Prim b) => (Int -> a -> Maybe b) -> Vector a -> Vector b
899-
{-# INLINE ifilterMap #-}
900-
ifilterMap = G.ifilterMap
898+
imapMaybe :: (Prim a, Prim b) => (Int -> a -> Maybe b) -> Vector a -> Vector b
899+
{-# INLINE imapMaybe #-}
900+
imapMaybe = G.imapMaybe
901901

902902
-- | /O(n)/ Drop elements that do not satisfy the monadic predicate
903903
filterM :: (Monad m, Prim a) => (a -> m Bool) -> Vector a -> m (Vector a)

Data/Vector/Storable.hs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ module Data.Vector.Storable (
8989

9090
-- ** Filtering
9191
filter, ifilter,
92-
filterMap, ifilterMap,
92+
mapMaybe, imapMaybe,
9393
filterM,
9494
takeWhile, dropWhile,
9595

@@ -900,14 +900,14 @@ ifilter :: Storable a => (Int -> a -> Bool) -> Vector a -> Vector a
900900
ifilter = G.ifilter
901901

902902
-- | /O(n)/ Drop elements when predicate returns Nothing
903-
filterMap :: (Storable a, Storable b) => (a -> Maybe b) -> Vector a -> Vector b
904-
{-# INLINE filterMap #-}
905-
filterMap = G.filterMap
903+
mapMaybe :: (Storable a, Storable b) => (a -> Maybe b) -> Vector a -> Vector b
904+
{-# INLINE mapMaybe #-}
905+
mapMaybe = G.mapMaybe
906906

907907
-- | /O(n)/ Drop elements when predicate, applied to index and value, returns Nothing
908-
ifilterMap :: (Storable a, Storable b) => (Int -> a -> Maybe b) -> Vector a -> Vector b
909-
{-# INLINE ifilterMap #-}
910-
ifilterMap = G.ifilterMap
908+
imapMaybe :: (Storable a, Storable b) => (Int -> a -> Maybe b) -> Vector a -> Vector b
909+
{-# INLINE imapMaybe #-}
910+
imapMaybe = G.imapMaybe
911911

912912
-- | /O(n)/ Drop elements that do not satisfy the monadic predicate
913913
filterM :: (Monad m, Storable a) => (a -> m Bool) -> Vector a -> m (Vector a)

Data/Vector/Unboxed.hs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ module Data.Vector.Unboxed (
119119

120120
-- ** Filtering
121121
filter, ifilter,
122-
filterMap, ifilterMap,
122+
mapMaybe, imapMaybe,
123123
filterM,
124124
takeWhile, dropWhile,
125125

@@ -948,14 +948,14 @@ ifilter :: Unbox a => (Int -> a -> Bool) -> Vector a -> Vector a
948948
ifilter = G.ifilter
949949

950950
-- | /O(n)/ Drop elements when predicate returns Nothing
951-
filterMap :: (Unbox a, Unbox b) => (a -> Maybe b) -> Vector a -> Vector b
952-
{-# INLINE filterMap #-}
953-
filterMap = G.filterMap
951+
mapMaybe :: (Unbox a, Unbox b) => (a -> Maybe b) -> Vector a -> Vector b
952+
{-# INLINE mapMaybe #-}
953+
mapMaybe = G.mapMaybe
954954

955955
-- | /O(n)/ Drop elements when predicate, applied to index and value, returns Nothing
956-
ifilterMap :: (Unbox a, Unbox b) => (Int -> a -> Maybe b) -> Vector a -> Vector b
957-
{-# INLINE ifilterMap #-}
958-
ifilterMap = G.ifilterMap
956+
imapMaybe :: (Unbox a, Unbox b) => (Int -> a -> Maybe b) -> Vector a -> Vector b
957+
{-# INLINE imapMaybe #-}
958+
imapMaybe = G.imapMaybe
959959

960960
-- | /O(n)/ Drop elements that do not satisfy the monadic predicate
961961
filterM :: (Monad m, Unbox a) => (a -> m Bool) -> Vector a -> m (Vector a)

tests/Tests/Vector.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ testPolymorphicFunctions _ = $(testProperties [
159159

160160
-- Filtering
161161
'prop_filter, 'prop_ifilter, {- prop_filterM, -}
162-
'prop_filterMap, 'prop_ifilterMap,
162+
'prop_mapMaybe, 'prop_imapMaybe,
163163
'prop_takeWhile, 'prop_dropWhile,
164164

165165
-- Paritioning
@@ -293,8 +293,8 @@ testPolymorphicFunctions _ = $(testProperties [
293293

294294
prop_filter :: P ((a -> Bool) -> v a -> v a) = V.filter `eq` filter
295295
prop_ifilter :: P ((Int -> a -> Bool) -> v a -> v a) = V.ifilter `eq` ifilter
296-
prop_filterMap :: P ((a -> Maybe a) -> v a -> v a) = V.filterMap `eq` filterMap
297-
prop_ifilterMap :: P ((Int -> a -> Maybe a) -> v a -> v a) = V.ifilterMap `eq` ifilterMap
296+
prop_mapMaybe :: P ((a -> Maybe a) -> v a -> v a) = V.mapMaybe `eq` mapMaybe
297+
prop_imapMaybe :: P ((Int -> a -> Maybe a) -> v a -> v a) = V.imapMaybe `eq` imapMaybe
298298
prop_takeWhile :: P ((a -> Bool) -> v a -> v a) = V.takeWhile `eq` takeWhile
299299
prop_dropWhile :: P ((a -> Bool) -> v a -> v a) = V.dropWhile `eq` dropWhile
300300
prop_partition :: P ((a -> Bool) -> v a -> (v a, v a))

tests/Utilities.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -293,11 +293,11 @@ izipWith3 = withIndexFirst zipWith3
293293
ifilter :: (Int -> a -> Bool) -> [a] -> [a]
294294
ifilter f = map snd . withIndexFirst filter f
295295

296-
filterMap :: (a -> Maybe b) -> [a] -> [b]
297-
filterMap f = catMaybes . map f
296+
mapMaybe :: (a -> Maybe b) -> [a] -> [b]
297+
mapMaybe f = catMaybes . map f
298298

299-
ifilterMap :: (Int -> a -> Maybe b) -> [a] -> [b]
300-
ifilterMap f = catMaybes . withIndexFirst map f
299+
imapMaybe :: (Int -> a -> Maybe b) -> [a] -> [b]
300+
imapMaybe f = catMaybes . withIndexFirst map f
301301

302302
indexedLeftFold fld f z = fld (uncurry . f) z . zip [0..]
303303

0 commit comments

Comments
 (0)