[Haskell-cafe] Strictness leak
Ketil Malde
ketil+haskell at ii.uib.no
Wed Oct 31 04:22:38 EDT 2007
Jeff Polakow <jeff.polakow at db.com> writes:
> Besides anything else, sequence will diverge on an infinite list.
Argh, of course. Thanks!
> It is necessary to compute all of the computations in the list before returning
> any of the pure resulting list.
Replacing sequence with sequence', given as:
> sequence' ms = foldr k (return []) ms
> where
> k m m' = do { x <- m; xs <- unsafeInterleaveIO m'; return (x:xs) }
seems to solve it.
-k
--
If I haven't seen further, it is by standing in the footprints of giants
More information about the Haskell-Cafe
mailing list