在上一个问题中,我问为什么不能在 Java 中声明 Monad 接口?. 在那里,我收到了 Brian Goetz 的评论,说我应该将“高阶类型”称为“高阶类型”。
现在,我阅读了更多关于类型系统的内容,并且理解了更高种类的类型的概念。但是,我仍然对这些条款感到困惑。我试图自己使用谷歌来消除它们的歧义,但似乎没有一个明确的答案。因此,我的问题是以下术语的确切含义是什么:
- 高阶类型
- 高级类型
- 高阶种类
这三个术语都存在吗?它们之间有区别吗?有什么区别?编程语言之间的含义是否有所不同?
我还注意到 StackOverflow 有多个标签:
但是,它们都没有标签 wiki。