haskell 中的种类以何种方式关联?
In which way do kinds associate in haskell?
我已经给出了为此类类型构造函数举例的任务
* -> (* -> *)
但我找不到。
我的猜测是种类关联到右边,因此上面给定的种类与
相同
* -> * -> *
在那种情况下 Either
将是一个例子,不是吗?
是的。
Prelude> :set -XKindSignatures
Prelude> :k (Either :: * -> (* -> *))
(Either :: * -> (* -> *)) :: * -> * -> *
顺便说一句,*
符号将被弃用。现代版本称为 Type
.
Either :: Type -> Type -> Type
我已经给出了为此类类型构造函数举例的任务
* -> (* -> *)
但我找不到。
我的猜测是种类关联到右边,因此上面给定的种类与
相同* -> * -> *
在那种情况下 Either
将是一个例子,不是吗?
是的。
Prelude> :set -XKindSignatures
Prelude> :k (Either :: * -> (* -> *))
(Either :: * -> (* -> *)) :: * -> * -> *
顺便说一句,*
符号将被弃用。现代版本称为 Type
.
Either :: Type -> Type -> Type