我正在抓紧以下行为。是这种情况有明显的原因吗?
Prelude> :set -XDataKinds
Prelude> :k 'True
'True :: Bool
Prelude> :k ['True, 'False]
['True, 'False] :: [Bool]
Prelude> :k ['True]
<interactive>:1:2: error:
• Expected a type, but ‘ 'True’ has kind ‘Bool’
• In the type ‘[ 'True]’
PS:如果这是GHC错误,则我正在使用GHC 8.4.3,并在以后修复。
答案 0 :(得分:4)
您必须通过反引号将列表类型与类型级别列表类型区分开来:
> :k '[ 'True]
还要注意[
后的空格,这是消除类型级别字符文字所必需的。