Ill-kinded value is not rejected immediately
The expression Just (1#) is ill-kinded, since Just expects a parameter of type a :: * not #. GHC 7.6.3 recognizes this
λ> :t Just (1#)
<interactive>:1:7:
Couldn't match kind `*' against `#'
Kind incompatibility when matching types:
a0 :: *
GHC.Prim.Int# :: #
In the first argument of `Just', namely `(1#)'
In the expression: Just (1#)
while HEAD gives
λ> :t Just (1#)
Just (1#) :: a ~ GHC.Prim.Int# => Maybe a
Not a big deal, attempting to do anything with this value gives the same error as in 7.6.3. But still, I think it should be rejected as ill-kinded at sight.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | low |
| Resolution | Unresolved |
| Component | Compiler (Type checker) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |