
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, Shishir