
#9774: Type error messages containing calls to assert could be prettier. -------------------------------------+------------------------------------- Reporter: josef | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.3 Keywords: | Operating System: Architecture: Unknown/Multiple | Unknown/Multiple Difficulty: Unknown | Type of failure: Blocked By: | None/Unknown Related Tickets: | Test Case: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- The following piece of code contains a type error. It also contains a call to `assert`. {{{#!hs import Control.Exception.Assert main = putStrLn (assert True 'a') }}} GHC 7.8.3 reports the type error as follows: {{{ Err.hs:3:30: Couldn't match type ‘Char’ with ‘[Char]’ Expected type: String Actual type: Char In the third argument of ‘GHC.IO.Exception.assertError’, namely ‘'a'’ In the first argument of ‘putStrLn’, namely ‘(GHC.IO.Exception.assertError "Err.hs:3:18-23"## True 'a')’ In the expression: putStrLn (GHC.IO.Exception.assertError "Err.hs:3:18-23"## True 'a') }}} The calls to `assert` has already been desugared, which is not necessarily very readable. I think it would be better if GHC just printed the call to `assert` as it appeared in the source. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9774 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler