3 Dec 15:19
Re: Perhaps a bug in GHC 6.10
Eric Walkingshaw <walkiner <at> eecs.oregonstate.edu>
2008-12-03 14:19:45 GMT
2008-12-03 14:19:45 GMT
It looks like the 6.10 behavior is actually the correct one: http://www.mail-archive.com/glasgow-haskell-bugs <at> haskell.org/msg13632.html Also, see the do-notation translation section in the Haskell 98 Report: http://www.haskell.org/onlinereport/exps.html#sect3.14 -Eric On Wed, Dec 3, 2008 at 5:45 AM, Krasimir Angelov <kr.angelov <at> gmail.com> wrote: > 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 <at> haskell.org > http://www.haskell.org/mailman/listinfo/haskell >
RSS Feed