种类在haskell中以哪种方式关联?
我的任务是为这种类型的构造函数提供一个示例
* -> (* -> *)
但我找不到一个。
我的猜测是种类与右侧相关联,因此上面给出的种类与
* -> * -> *
在那种情况下Either就是一个例子,不是吗?
回答
是的。
Prelude> :set -XKindSignatures
Prelude> :k (Either :: * -> (* -> *))
(Either :: * -> (* -> *)) :: * -> * -> *
顺便说一句,该*符号将被弃用。现代版本称为Type.
Either :: Type -> Type -> Type