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
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to