记录类型声明如下:

记录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我们只是说

开放模块M=R R

请参见示例/晶格如何使用模块系统和记录一起键入。

页面上次修改时间:2008年6月2日下午02:01
技术支持私人维基