我的任务是为这种类型的构造函数提供一个示例
* -> (* -> *)
但我找不到。
我的猜测是种类与右边相关联,因此上面给出的种类与
* -> * -> *
那样的话,Either 就是一个例子,不是吗?
Either
是的。
Prelude> :set -XKindSignatures Prelude> :k (Either :: * -> (* -> *)) (Either :: * -> (* -> *)) :: * -> * -> *
顺便说一句,* 表示法将被弃用。现代版本称为 Type。
*
Type
Either :: Type -> Type -> Type