G'day all.

In a recent GHC checkout, the following program:

    module Main(main) where

    import Maybe
    import Control.Monad

    test :: (MonadPlus m) => [a] -> m Bool
    test xs
      =   do
            (_:_) <- return xs
            return True
        `mplus`
          do
            return False

    main :: IO ()
    main
      = do  let x = fromJust (test [])
            putStrLn (show x)

causes a run-time exception:

     *** Exception: GhcBug.hs:9: Non-exhaustive patterns in 'do' expression

Version 5.04 correctly prints "False".

Cheers,
Andrew Bromage
_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to