Types “a”是什么;头等舱;类型?

Types “a”是什么;头等舱;类型?,types,Types,类型T是“第一类”类型意味着什么?通常意味着T的实例可以是 从函数返回 传递到函数中 在运行时构造 C中的Eg函数不是第一类类型,因为它们不能在运行时构造,但它们是JavaScript中的 在某些特殊情况下,例如定理证明,这意味着类型本身就是第一类对象。更多的现代文学使用“物化类型”来表示这一点,以避免这种歧义。我认为一级类型与一级类型大致相同。它基本上是提供一类对象属性的类型。使用“T”听起来像是有人在谈论Java中泛型的状态(它们被删除了,这意味着虽然可以在运行时检查某个对象是否是一个列

类型T是“第一类”类型意味着什么?

通常意味着T的实例可以是

  • 从函数返回
  • 传递到函数中
  • 在运行时构造
C中的Eg函数不是第一类类型,因为它们不能在运行时构造,但它们是JavaScript中的


在某些特殊情况下,例如定理证明,这意味着类型本身就是第一类对象。更多的现代文学使用“物化类型”来表示这一点,以避免这种歧义。

我认为一级类型与一级类型大致相同。它基本上是提供一类对象属性的类型。

使用“T”听起来像是有人在谈论Java中泛型的状态(它们被删除了,这意味着虽然可以在运行时检查某个对象是否是一个列表,但不能检查它是否是一个整数列表)

然而,也有“第一类类型”,这意味着类型本身(不仅仅是它们的实例)可以显示在任何地方,比如表达式的值。例如,下面的代码片段

someType s = new someType();
new typeOf(s); // makes a new instance of someType

但是在野外你看不到太多,因为如果你的类型依赖于一个值,类型检查需要更多的计算,如果你允许类型依赖于任何值,那么检查就变得不可判定了。

。。。没有。虽然OP选择了这个作为答案,但这甚至不能回答他的问题。他指的是类型理论中的类型。你描述的是其他一等公民,但没有一个是典型的-1.这里有一个答案是正确的,如果只是breifly:@trini您选择的另一个答案是“物化类型”的示例,其中类型“type”本身是第一类类型。有关参考资料,请参见支持@Pete Kirkham的答案。。。在Expert C Programming(1994)中,Peter van der Linden给出了以下示例:/*结构内的数组*/struct s_标记{int a[100];};他说,现在可以将数组视为一级类型。它可以是1。可与赋值语句2一起复制。通过值3传递给函数。是函数的返回类型。这是不正确的。这个答案解释了什么是第一类值,但我认为op意味着当类型(如python中的Int或Float)本身可以被视为第一类实体时可以做什么。就像将类型作为参数传递到函数中一样。好吧,只有Coq实现了第一类类型。@Jaseem你有没有关注我提供的google搜索链接,该链接显示了这个短语在文献中最常见的用法“第一类类型”用于表示“第一类值的类型”,远远超过Coq中的具体化类型。辩称这不是“正确的”,就像说用“杰出的”来表示“非常好”而不是“尚未处理”是不正确的。如果OP提供了一个参考或引用,说明短语ocursi think@johncip的意思是
someType s=new someType(),那么问题会更清楚
新类型的不应该是新类型的吗?哈!我假设这个虚构的构造方法有任何值,您希望
typeOf(s)
返回一个类定义,您可以向其传递构造函数参数。但是已经很久了&我不记得我是怎么想的。回想起来,普通的
news()
甚至
constructObject(s,args)
似乎更好。还有,为什么我要调用类型
s
,而不是
t