一个ML型记录演算
An ML-style Record Calculus with Extensible Records
摘要:
在这项工作中,我们开发了一个多态记录演算可扩展的记录。可扩展记录是可以向其中添加新字段或从中删除预先存在的字段的记录。我们还给出了该演算的一个静态类型系统和一个完善的类型推断算法。大多数支持可扩展记录的ML样式多态记录演算都基于行变量。我们提出了一种替代的建设的基础上开发的多态记录演算Ohori。Ohori基于他的多态记录演算的想法的种类限制。这使他能够在记录上表达多态操作,例如字段选择和修改。通过添加可扩展类型,我们能够扩展Ohori的原始演算,并对记录进行其他强大的操作,例如字段添加和删除。
英文摘要:
In this work, we develop a polymorphic record calculus with extensible records. Extensible records are records that can have new fields added to them, or preexisting fields removed from them. We also develop a static type system for this calculus and a sound and complete type inference algorithm. Most ML-style polymorphic record calculi that support extensible records are based on row variables. We present an alternative construction based on the polymorphic record calculus developed by Ohori. Ohori based his polymorphic record calculus on the idea of kind restrictions. This allowed him to express polymorphic operations on records such as field selection and modification. With the addition of extensible types, we were able to extend Ohori's original calculus with other powerful operations on records such as field addition and removal.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。