
#13917: The line on which to locate the error indication is bad. -------------------------------------+------------------------------------- Reporter: vanto | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect | Unknown/Multiple error/warning at compile-time | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by vanto): Replying to [[span(style=color: #FF0000, j.waldmann )]]\\ Interesting! I can do better.\\ {{{ module Qwer where a = ({-# LANGUAGE KindSignatures #-}) main :: IO () main = print (if True then () else ()) }}} One more thing. If I change your code like that\\ {{{ module Qwer where a = ({-# LANGUAGE KindSignatures #-}) main :: IO () main = print (if True then () else ()) }}} GHC says\\ {{{ Prelude> :l qwer.hs [1 of 1] Compiling Qwer ( qwer.hs, interpreted ) qwer.hs:3:5: error: * Couldn't match expected type `IO () -> IO ()' with actual type `()' * The function `()' is applied to one argument, but its type `()' has none In the expression: () main :: IO () In an equation for `a': a = () main :: IO () | 3 | a = ({-# LANGUAGE KindSignatures #-}) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... Failed, modules loaded: none. }}} Anyway the code you wrote is not pretty. Clarity of a program is very important especially in software maintenance. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13917#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler