Thanks for a fine report - turned out to be a code generation
bug that has now been fixed.

--sigbjorn

----- Original Message ----- 
From: "Edmund GRIMLEY EVANS" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, May 01, 2002 12:34
Subject: "dodo" bug


> The following program prints 16843011 when I run it (version December
> 2001 of Hugs, compiled with gcc-3.0 or gcc-2.95.1).
> 
> Replace "else x" by "else True" to get the expected result.
> 
> Can you reproduce this, or is my system broken?
> 
> Edmund
> 
> 
> jj [] = 0
> jj (x:xs) = x + (jj xs) * 256
> 
> dodo :: Int
> dodo = jj (map f [0..3]) where
> 
> f k = y where
> 
> y = case True of
> _ -> (if (if True then True else x) then id else id) 0
> 
> x = True
> 
> main = print dodo


_______________________________________________
Hugs-Bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/hugs-bugs

Reply via email to