这意味着什么,以及下一个类型的基数是什么,例如:
unit->int
bool->(int->bool)
答案 0 :(得分:1)
类型的基数是可能属于该类型的合法值的数量。
对于函数类型,我们通常要考虑两个函数,它们为每个输入返回相同的值,使其成为“相同的函数”,至少为基数目的(这称为“扩展相等”)。
我假设这是一个家庭作业问题,我将进一步假设不包括不终止或产生未定义值的函数(事实上,它们不会包含在典型的数学处理)。
表示可以具有有限数量的可能值的类型的基数原则上相当容易,因为您可以只给出一个数字作为基数。然而,有了无限的基数,从技术上讲,不同类型的无穷大之间存在区别。例如,无数无穷大“大于”可数无穷大。 (老实说,我不确定你是否应该知道这一点,或者你是否应该给出“无限”的答案 - 检查你的课程笔记。)因此,指定哪个无穷大是个好主意。你在说什么,比如说通过引用“更简单”类型的基数。
因此,unit->int
的基数与int
的基数相同(对于您可能选择的任何其他目标类型,而不是int
),因为值类型unit->X
必须是一个常量函数,它“忽略它的输入”并返回X
类型的常量值。
我希望这个不完整的答案足以让你开始。