
#7856: Wrong error message for unknown Instance ----------------------------------------------+----------------------------- Reporter: bas | Owner: Type: feature request | Status: new Priority: normal | Component: Compiler (Type checker) Version: 7.6.3 | Keywords: Instance Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect warning at compile-time | Blockedby: Blocking: | Related: ----------------------------------------------+----------------------------- This type-incorrect program gives a wrong error message: {{{ main = tmp "hello" where tmp :: String -> IO () tmp = sequence_ lst lst = [putStrLn "hi"] }}} Namely: {{{ Couldn't match expected type `IO ()' with actual type `()' Expected type: String -> IO () Actual type: String -> () In the return type of a call of `sequence_' In the expression: sequence_ lst }}} I would not expect the "actual type" to be "String -> ()", but rather "IO ()". Note: GHC expects that "(->) String" is a monad. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7856 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler