【24h】

Nameless, Painless

机译:无名无痛

获取原文
获取原文并翻译 | 示例

摘要

De Bruijn indices are a well known technique for programming with names and binders. They provide a representation that is both simple and canonical. However, programming errors tend to be really easy to make. We propose a safer programming interface implemented as a library. Whereas indexing the types of names and terms by a numerical bound is a famous technique, we index them by worlds, a different notion of index that is both finer and more abstract. While being more finely typed, our approach incurs no loss of expressiveness or efficiency. Via parametricity we obtain properties about functions polymorphic on worlds. For instance, well-typed world-polymorphic functions over open A-terms commute with any renaming of the free variables. Our whole development is conducted within Agda, from the code of the library, to its soundness proof and the properties of external functions. The soundness of our library is demonstrated via the construction of a logical relations argument.
机译:De Bruijn索引是一种使用名称和活页夹进行编程的众所周知的技术。它们提供了既简单又规范的表示形式。但是,编程错误往往很容易造成。我们提出了一个更安全的编程接口,它被实现为一个库。尽管通过数字范围对名称和术语的类型进行索引是一种著名的技术,但我们通过世界对它们进行索引,这是一种更精细,更抽象的索引概念。在更精细地键入内容的同时,我们的方法不会导致表现力或效率下降。通过参数化,我们获得关于世界上多态函数的属性。例如,在开放的A项上类型良好的世界多态函数会与自由变量的任何重命名互换。我们的整个开发工作都是在Agda内部进行的,从库的代码到其健全性证明以及外部函数的属性。我们的图书馆的健全性是通过构建逻辑关系论证来证明的。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号