
29 Aug
2006
29 Aug
'06
10:15 a.m.
I put the "try" in the wrong place. Silly me
-- This also works and uses <|> directly instead of via option countBetween' m n p | m<=n = do xs <- count m p let loop 0 acc = return (acc []) loop i acc = (do x <- try p loop (pred i) (acc . (x:))) <|> (return (acc [])) ys <- loop (n-m) id return (xs++ys)