Simon Peyton-Jones <[EMAIL PROTECTED]> writes:

> | GHC nominally does do it (look for 'selector thunks' in the RTS and
> | commentary), but it doesn't work and we don't know why.
> |
> | http://hackage.haskell.org/trac/ghc/ticket/1038

> That bug is alleged to be fixed.  Do you think it isn't?

I'm not sure to what extent the fix should cover my case, but if I may
restate it, what I certainly found was that by replacing my
partitioning function

  breaks p = groupBy (const (not.p))

by

  breaks :: (a -> Bool) -> [a] -> [[a]]
  breaks p (x:xs) = let first = x : takeWhile (not.p) xs
                        rest  = dropWhile (not.p) xs
                    in  rest `par` first : if null rest then [] else breaks p 
rest
  breaks _ []     = []

space consumption was drastically reduced -- as long as I compile with
-smp.  Previous space consumption appeared to be linear in the largest
partition (although I made no accurate measurements).

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to