类型product(元组)运算符是否关联?

时间:2014-12-27 11:33:02

标签: computer-science type-theory computer-science-theory

例如,如果类型 A B C A × B × C =(的 A ×的)× C = A ×( B × C )是真的,还是元组总是'扁平化'?直觉会告诉我它关联的,但另一方面,这意味着元组的元组是不可能的。我没有在我能找到的任何资源中找到类型产品运营商的属性 - the Wikipedia page描述了产品类型,但没有详细介绍运营商本身。

1 个答案:

答案 0 :(得分:1)

从技术上讲,它是关联的,但它取决于你如何使用它以及你想要(或需要)遵守它的定义多少。在许多类型系统中,您只有两个类型的元组,每个包含两个以上类型的产品类型只是两个类型的元组,其中一个类型是另一个2类型元组:(A, B, C) ~= ((A, B), C)或{{1 }}。现在,这两个中的哪一个最终取决于您的定义。一个简单的从左到右的解析可能会以后一个版本结束。

但最终,这并不重要。由于这是关于类型理论,所以类型总是完全已知;所以一个元组的元组不能包含一些“未知”元组。内部元组的类型也是众所周知的。当你知道类型,并且你知道有一个元组元组时,(A, B, C) ~= (A, (B, C))(A, B, (C, D, E))之间并没有真正的区别。毕竟,你知道那个“内部元组”的开始和结束。如果类型系统要求你制作它(A, B, C, D, E),那么这也不是真正的问题。