#745: GHC should recover better from bad type signatures
----------------------+-----------------------------------------------------
Reporter: simonpj | Owner: simonpj
Type: bug | Status: new
Priority: low | Milestone: 6.8
Component: Compiler | Version: 6.4.2
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Architecture: Unknown
Os: Unknown |
----------------------+-----------------------------------------------------
Changes (by igloo):
* milestone: => 6.8
* testcase: =>
Old description:
> GHC currently bales out as soon as it finds an ill-kinded top-level type
> signature.
>
> It didn't use to... it recovered and found more errors. An example is
> test tcfail113 (see diff below). The change is a consequence of some
> reorganisation in TcBinds.
>
> Fixing this would be nice, but perhaps not all that important
>
> Simon
>
> *** ./tcfail113.stderr 2003-12-10 14:24:30.000000000 +0000
> --- ./tcfail113.comp.stderr 2006-03-30 10:05:53.000000000 +0100
> ***************
> *** 1,12 ****
>
> - tcfail113.hs:7:6:
> - Kind error: `Maybe' is not applied to enough type arguments
> - In the type signature: f :: [Maybe]
> -
> - tcfail113.hs:10:7:
> - Kind error: Expecting kind `* -> *', but `Int' has kind `*'
> - In the type signature: g :: T Int
> -
> tcfail113.hs:13:5:
> Kind error: `Int' is applied to too many type arguments
> In the type signature: h :: Int Int
New description:
GHC currently bales out as soon as it finds an ill-kinded top-level type
signature.
It didn't use to... it recovered and found more errors. An example is test
tcfail113 (see diff below). The change is a consequence of some
reorganisation in TcBinds.
Fixing this would be nice, but perhaps not all that important
Simon
{{{
*** ./tcfail113.stderr 2003-12-10 14:24:30.000000000 +0000
--- ./tcfail113.comp.stderr 2006-03-30 10:05:53.000000000 +0100
***************
*** 1,12 ****
- tcfail113.hs:7:6:
- Kind error: `Maybe' is not applied to enough type arguments
- In the type signature: f :: [Maybe]
-
- tcfail113.hs:10:7:
- Kind error: Expecting kind `* -> *', but `Int' has kind `*'
- In the type signature: g :: T Int
-
tcfail113.hs:13:5:
Kind error: `Int' is applied to too many type arguments
In the type signature: h :: Int Int
}}}
Comment:
Still happens with 6.6 and HEAD.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/745>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs