sort是一个代数数据类型包括一个或多个值集,如自然数集、布尔值集、字符集或串集,再加上一组在这些集合上的函数。对代数数据类型的一个基本限制是其函数不能有函数变元,这就是“代数的”的含义。
需要说明的一点是,对于属于一个代数的若干个集合,本章使用泛代数的标准术语。因此,基本“类型”符号,如 nat,bool,char 和 string 等,当它们用于代数项时,叫做类别(sort)。这样做的目的是,既维护和代数方面的文献的一致性,同时又强调由集合和相关函数组成的代数数据类型和单纯的集合是有区别的。在代数数据类型理论中,类型和类别的区别在于类型有一组运算而类别没有。