[Haskell-cafe] A bug of groupBy implement

Brent Yorgey byorgey at seas.upenn.edu
Mon Dec 7 12:15:45 EST 2009


On Tue, Dec 08, 2009 at 12:45:59AM +0800, L.Guo wrote:
> Hi there:
> 
> My friend asked me a question, and i suppose he has found a bug of `groupBy'.
> 
> Here is the code piece:
> 
> > List.groupBy (\a b -> Foreign.unsafePerformIO (Text.Printf.printf "\t%d <= %d ?: %s\n" a b (show (a<=b)) >> return (a<=b))) [7,3,5,9,6,8,3,5,4]
> 
> I have tested it in GHC 6.10.4 (Win XP) and GHC 6.8.3 (Linux), both give the wrong result (categaried):
> 
>         7 <= 3 ?: False
>         3 <= 5 ?: True
>         3 <= 9 ?: True
>         3 <= 6 ?: True
>         3 <= 8 ?: True
>         3 <= 3 ?: True
>         3 <= 5 ?: True
>         3 <= 4 ?: True
> [[7],[3,5,9,6,8,3,5,4]]

This looks like the right result to me.  What makes you think it is
wrong?  What result do you expect?

-Brent


More information about the Haskell-Cafe mailing list