首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >高类与高阶型的消歧

高类与高阶型的消歧
EN

Stack Overflow用户
提问于 2016-06-23 23:29:29
回答 1查看 581关注 0票数 7

在之前的一个问题中,我问了为什么不能用Java声明Monad接口?。在那里,我收到了Brian的评论,说我应该把“高阶类型”称为“高级类型”。

现在,我读到了更多关于类型系统的内容,我理解了更高类型类型的概念。然而,我仍然对这些术语感到困惑。我试着用谷歌自己来消除他们的歧义,但是似乎没有一个明确的答案。因此,我的问题是,以下几个词的确切含义是什么:

  • 高阶类型
  • 高类
  • 高阶类

这三个条款都存在吗?他们之间有什么区别吗?有什么关系?不同的编程语言是否有不同的含义?

我还注意到StackOverflow有多个标记:

  • 高阶类型
  • 高类

然而,没有标记wiki为他们两个。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-06 19:13:00

博客文章之后,“高阶类型”一词似乎是“较高类型”和“高等级类型”的通用术语。更高的等级可能是我在困惑的时候编造出来的一个词。

高类

对于较高类型,可以接收本身为泛型类型的类型参数:

代码语言:javascript
运行
复制
interface Foo<T<_>> {
    T<String> get();
}

这是声明Monad接口所必需的。

高秩型

对于级别较高的类型,可以接收类型仍包含未指定类型参数的参数:

代码语言:javascript
运行
复制
interface Bar {
    void foobar(<E> List<E> list);
}

不幸的是,更高级别的类型检查/推理是不可判定的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38003467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档