[Haskell-cafe] Filtering a big list into the IO monad
Chris Kuklewicz
haskell at list.mightyreason.com
Thu Aug 3 14:03:15 EDT 2006
Gabriel Sztorc wrote:
> Hello,
>
> I want to filter a list with a predicate that returns a IO value,
> something that filterM is supposed to do. The problem is, filterM
> overflows the stack for really big lists and I couldn't come up with a
> simple replacement for filterM that would work for lists of any size
> (the truth is, I can't come up with anything at all :).
>
> The question is: how to do it? Any help is appreciated.
What is the predicate computing? Does it have side effects? Does the order of
evaluation matter?
A dangerous solution is to use unsafeInterleaveIO or unsafePerformIO to change
your predicate to look like a pure function...
More information about the Haskell-Cafe
mailing list