为什么 Haskell 无法解析这种 [[]](列表的列表)?
为什么它不只是 * -> *,因为我可以给它一个像 Int 这样的类型,并得到 [[Int]],这是一种 *。
最佳答案
我认为它与 Maybe Maybe
相同,尽管在后一种情况下,原因可能更清楚:“外部”类型构造函数期望传递一种类型 *
,但看到类型 * -> *
的类型构造函数(“内部”Maybe
/[]
)并提示。如果我是正确的,这实际上并不是 GHCi 的 :kind
功能的问题,而是找到正确的语法来表达更高级类型构造函数的组合的问题。
作为一种解决方法,类似于
:kind forall a. [[a]]
:kind forall a. Maybe (Maybe a)
可以使用(我认为,打开适当的语言扩展 - ExistentialQuantification
- 来启用 forall
语法)。
关于haskell - 为什么 GHCi 无法解析这种 [[]] ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2994799/