什么是类型完整性原则?

What is Type Completeness Principle?

编程语言设计概念一书中说:

PYTHON counts procedures as first-class values, along with all primitive and composite values. Thus PYTHON conforms well to the Type Completeness Principle.

还是没听懂

类型完整性原则:

No operation should be arbitrarily restricted in the types of values involved. - Watt

First-class 值可以被评估,作为参数传递 并用作复合值的组成部分。 函数式语言试图不做 class 区分, 而命令式语言通常处理函数(在 最好)作为第二个 class 值。

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

在 Java 中,方法和 classes 不是值,尽管您可以 获取表示 class 作为值的具体化对象,并在 Java 中 8、可以将方法引用作为值传递。包裹不是 然而,价值观。

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