File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -124,10 +124,10 @@ module ListT =
124
124
else return Nil }
125
125
loop count ( input: ListT< 'MT>)
126
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 ()))
127
+ let inline filterM ( f : 'T -> '``M < bool > ``) ( input : ListT < 'MT >) : ListT < 'MT > =
128
+ input |> bind ( fun v -> lift ( f v) |> bind ( fun b -> if b then singleton v else empty ()))
129
129
130
- let inline filter f ( input : ListT < 'MT >) : ListT < 'MT > = filterM ( f >> singleton ) input
130
+ let inline filter f ( input : ListT < 'MT >) : ListT < 'MT > = filterM ( f >> result ) input
131
131
132
132
let inline run ( lst : ListT < 'MT >) : '``Monad < list < 'T >> `` =
133
133
let rec loop acc x = unwrap x >>= function
You can’t perform that action at this time.
0 commit comments