类型系统的类型分类

顶级分类:

Nominal type system

structural systems

In computer science, a nominal or nominative type system (or name-based type system) is a major class of type system, in which compatibility and equivalence of data types is determined by explicit declarations and/or the name of the types. Nominal systems are used to determine if types are equivalent, as well as if a type is a subtype of another. It contrasts with structural systems, where comparisons are based on the structure of the types in question and do not require explicit declarations.

二级分类(nominal):

Abstract type

concrete type

In programming languages, an abstract type is a type in a nominative type system that cannot be instantiated directly; a type that is not abstract – which can be instantiated – is called a concrete type. Every instance of an abstract type is an instance of some concrete subtype.

An abstract type may provide no implementation, or an incomplete implementation. In some languages, abstract types with no implementation (rather than an incomplete implementation) are known as protocolsinterfacessignatures, or class types.

三级分类:

具体类型:基本类型、复合类型;

抽象类型:泛型、抽象类型。

四级分类:

抽象类型:基本抽象类型(protocolsinterfaces)、高阶抽象类型。

原文地址:https://www.cnblogs.com/feng9exe/p/9204593.html