[Haskell] Perhaps a bug in GHC 6.10
Krasimir Angelov
kr.angelov at gmail.com
Wed Dec 3 08:45:01 EST 2008
Hi,
One of my students wrote code like this:
prop_blank s (i,j) li =
if i==li
then
do if something then True else False
else
prop_blank (...) (i,j) (li+1)
This code is not accepted from GHC 6.8.3 because Bool is not a monad.
In particular the error message is:
Sudoku.hs:269:5:
Couldn't match expected type `Bool' against inferred type `a b'
In the expression:
......
Surprisingly the same code is accepted from GHC 6.10. This looks like
a bug for me. The easiest way to reproduce this is to try to evaluate:
> do True
in GHCi with GHC 6.8.3 and with GHC 6.10
Is there any reason to accept this code?
Regards,
Krasimir
More information about the Haskell
mailing list