Extra ' in error output concerning promoted kinds
When I try to compile the following code, a slightly erroneous error message is produced:
{-# LANGUAGE DataKinds #-}
foo :: 'False
foo = undefined
The error message is
Kind mis-match
Expected kind `ArgKind', but `False' has kind 'Bool
In the type signature for `foo': foo :: False
The problem is that the kind of 'False
is reported as 'Bool
. However, if you use a kind written 'Bool
in a program, that program fails to compile. As I understand it, the only way to write the kind of 'False
is Bool
, without the initial tick.
Trac metadata
Trac field | Value |
---|---|
Version | 7.5 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler (Type checker) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |