记录类型声明如下:
记录R:设置位置领域x个1:A1x个2:A2[x1]...x个n个:A_n[x1…x个n-1个]
哪里x个1
...x个n个
是记录的字段。请注意,后面字段的类型可能取决于前面字段的值。
记录类型可能需要的两件事是适当命名的投影函数和打开一条记录以将字段带入范围。事实证明,使用模块化系统我们可以以一件的价格买到这两样东西。对于上述记录R,我们生成一个参数化模块R(右)
模块R{Δ}(R:RΔ),其中x个1:A1x个1= ...x个2:A2[x1]x个2= ......x个n个:An个[x1…x个n-1个]x个n个= ...
中的函数R(右)
正是记录类型的投影函数R(右)
例如,我们有钢筋混凝土2:{Δ}(r:rΔ)->A2[右x1【参考文献】
(所以,用一些语言写的东西相对湿度2
对于r:r
,我们写为钢筋混凝土2第页
.)很明显,我们希望记录的参数为隐性的无论它们是否是记录的隐式参数。现在好消息是我们可以有效地将模块应用于给定的记录立即从记录中投影所有字段,这正是我们所做的在记录打开功能中查找。所以要打开一个记录r:r
我们只是说
开放模块M=R R
请参见示例/晶格对于如何使用模块系统和记录一起键入。