We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent e6f8549 commit cdb81a3Copy full SHA for cdb81a3
src/FSharpPlus/List.fs
@@ -124,10 +124,10 @@ module ListT =
124
else return Nil }
125
loop count (input: ListT<'MT>)
126
127
- let inline filterM (f: 'T -> ListT<'``M<bool>``>) (input: ListT<'MT>) : ListT<'MT> =
128
- input |> bind (fun v -> f v |> bind (fun b -> if b then singleton v else empty ()))
+ let inline filterM (f: 'T -> '``M<bool>``) (input: ListT<'MT>) : ListT<'MT> =
+ input |> bind (fun v -> lift (f v) |> bind (fun b -> if b then singleton v else empty ()))
129
130
- let inline filter f (input: ListT<'MT>) : ListT<'MT> = filterM (f >> singleton) input
+ let inline filter f (input: ListT<'MT>) : ListT<'MT> = filterM (f >> result) input
131
132
let inline run (lst: ListT<'MT>) : '``Monad<list<'T>>`` =
133
let rec loop acc x = unwrap x >>= function
0 commit comments