Possible error message improvement when -XRankNTypes is missing
I'm forwarding wishlist bug #499217 from Debian's BTS.
If I ask ghc to interpret a higher-rank function type, I get this error:
Prelude> :t undefined :: ((forall a . a -> a) -> a -> a)
<interactive>:1:24:
Illegal operator `.' in type `forall a . (a -> a)'
(Use -XTypeOperators to allow operators in types)
If I turn on -XExistentialQuantification, I get this one instead:
Prelude> :t undefined :: ((forall a . a -> a) -> a -> a)
<interactive>:1:0:
Illegal polymorphic or qualified type: forall a. a -> a
In an expression type signature:
(forall a. a -> a) -> a -> a
It might not be possible in the first case (where forall isn't a keyword), but in the second case it would be nice if ghc could detect my attempt to enter a higher-rank type and suggest the appropriate extension. (-XRankNTypes)
Trac metadata
Trac field | Value |
---|---|
Version | 6.8.2 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Unknown |
Architecture | Unknown |