类型完备性原则是什么?

8
在《编程语言设计概念》一书中,它说:
PYTHON将过程(procedures)与所有原始值和复合值视为一等值,因此PYTHON很好地符合类型完备性原则
我还是不理解。

1
可能会感兴趣的内容:https://www.researchgate.net/publication/240319683_Type-completeness_as_a_language_principle - Julien
1个回答

10

类型完��性原则:

不应该随意限制所涉及值的类型。

  • David A. Watt

一等值可以被评估,作为参数传递,并用作复合值的组成部分。函数式语言试图不做任何类别区分,而命令式语言通常将函数(最多)视为二等值。

几乎所有编程语言都限制了可能作为值传递(因此具有有意义类型)的实体种类。在 C 或 C++ 中,函数不是值,尽管函数指针是值。类不是值。

在 Java 中,方法和类不是值,但您可以获得表示类的具象化对象作为值,并且在 Java 8 中,您可以将方法引用作为���传递。包不是值。

在 Haskell 中,函数是一等值,因此可以作为参数传递并作为值返回。由于 Haskell 是静态类型的,类型系统能够表达函数类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接