我读到了很多关于类型种类、高阶类型等有趣的内容。Haskell默认支持两种种类:
- 简单类型:
*
- 类型构造器:
* → *
最新的GHC语言扩展ConstraintKinds添加了一个新的种类:
- 类型参数约束:
Constraint
另外,在阅读这个邮件列表之后,可以明确另一种种类可能存在,但它在GHC中不被支持(但在.NET中实现了这种支持):
- 非装箱类型:
#
我学习了多态种类,并且我认为我理解了这个想法。此外,Haskell还支持显式种类量化。
所以我的问题是:
- 是否存在其他种类类型?
- 是否存在其他与种类相关的语言特性?
子种类(subkinding)
是什么意思?它在哪里实现/有用?- 是否存在基于
种类(kinds)
的类型系统,就像种类(kinds)
是基于类型(types)
的类型系统一样?(只是出于兴趣)