Hi,
Continuing on from my previous question about powerset using filterM - Thanks to Alexey and Chaddaï.
filterM is implemented as below -
----
filterM _ [] = return []
filterM p (x:xs) = do
flg <- p x
ys <- filterM p xs
return (if flg then x:ys else ys)
---
I still don't quite understand how 'flg' being a boolean [] is used in the last 'if statement' of implementation because when I try to do the same thing outside in GHCi it fails miserably even though I am casting it to [Int] -
--
return (if [True, False] then "4" else "3")::[Int]
--
Offtopic : Also if someone can explain how do I reply to individual mails/responses to my queries because I only get a digest on my gmail and there is no way to isolate and reply to individual mails either this list's page or from digest.
Thanks,