File tree Expand file tree Collapse file tree 2 files changed +12
-0
lines changed
Expand file tree Collapse file tree 2 files changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -303,6 +303,12 @@ unless :: forall m. (Monad m) => Boolean -> m Unit -> m Unit
303303filterM :: forall a m. (Monad m) => (a -> m Boolean) -> [a] -> m [a]
304304```
305305
306+ Filter where the predicate returns a monadic Boolean. For example:
307+
308+ ``` purescript
309+ powerSet :: forall a. [a] -> [[a]]
310+ powerSet = filterM (const [true, false])
311+ ```
306312
307313
308314## Module Control.MonadPlus
Original file line number Diff line number Diff line change @@ -19,6 +19,12 @@ unless :: forall m. (Monad m) => Boolean -> m Unit -> m Unit
1919unless false m = m
2020unless true _ = return unit
2121
22+ -- | Filter where the predicate returns a monadic Boolean. For example:
23+ -- |
24+ -- | ```purescript
25+ -- | powerSet :: forall a. [a] -> [[a]]
26+ -- | powerSet = filterM (const [true, false])
27+ -- | ```
2228filterM :: forall a m . (Monad m ) => (a -> m Boolean ) -> [a ] -> m [a ]
2329filterM _ [] = return []
2430filterM p (x:xs) = do
You can’t perform that action at this time.
0 commit comments