On 03/12/2009 14:12, Henning Thielemann wrote:

On Thu, 3 Dec 2009, Malcolm Wallace wrote:

#3709: Data.Either.partitionEithers is not lazy enough

This is a behavioural change, e.g.:
Main> case partitionEithers1 [Left 'a', error "Not me"] of (x : _, _)
-> x
Program error: Not me
Main> case partitionEithers2 [Left 'a', error "Not me"] of (x : _, _)
-> x
'a'

Yes, and isn't that the point of the bugfix? No non-bottoming program
has changed, but fewer programs fail now. I find it hard to imagine
that anyone could have been relying on getting a crash here.

Making something more lazy can cause a memory leak.

and a time leak, or a stack overflow. People might complain if we made foldl' more lazy :-)

Cheers,
        Simon
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to