在Curry–Howard 对应公理库Curry–Howard 对应Curry–Howard correspondence · Propositions as types把命题对应为类型、证明对应为程序、证明化简对应为程序求值。下, 对应合取 :构造一对就是同时给出两个证明,投影就是取出其中一个。积作为构造子字段的组合方式进入代数数据类型公理库代数数据类型Algebraic data type · Algebraic datatype以有限构造子的和、每个构造子字段的积以及可选递归组合数据形状的类型。;完整的和—积—递归汇总由该页承担。
普通积允许分别投影、从而忽略另一分量。线性 tensor公理库线性类型与仿射类型Linear type · Affine type · Linear and affine types分别以恰好一次和至多一次的上下文纪律约束值使用,并显式隔离可复制资源。则在线性上下文分割下同时交付两个分量,不能无条件复用这些笛卡尔投影规则;二者的差别来自资源纪律,不是换一个乘号而已。
参考资料
Benjamin C. Pierce, Types and Programming Languages, MIT Press, 2002,Ch. 11, products, tuples, and records。
Robert Harper, Practical Foundations for Programming Languages, 2nd ed., Cambridge University Press, 2016,Ch. 11, product types。