纯模式微积分在de Bruijn

Q3 Computer Science
Alexis Martín, Alejandro Ríos, Andrés Viso
{"title":"纯模式微积分在de Bruijn","authors":"Alexis Martín,&nbsp;Alejandro Ríos,&nbsp;Andrés Viso","doi":"10.1016/j.entcs.2020.08.006","DOIUrl":null,"url":null,"abstract":"<div><p>It is well-known in the field of programming languages that dealing with variable names and binders may lead to conflicts such as undesired captures when implementing interpreters or compilers. This situation has been overcome by resorting to de Bruijn indices for calculi where binders capture only one variable name, like the <em>λ</em>-calculus. The advantage of this approach relies on the fact that so-called <em>α</em>-equivalence becomes syntactical equality when working with indices.</p><p>In recent years pattern calculi have gained considerable attention given their expressiveness. They turn out to be notoriously convenient to study the foundations of modern functional programming languages modeling features like pattern matching, path polymorphism, pattern polymorphism, etc. However, the literature falls short when it comes to dealing with <em>α</em>-conversion and binders capturing simultaneously several variable names. Such is the case of the <em>Pure Pattern Calculus</em> (<span>PPC</span>): a natural extension of <em>λ</em>-calculus that allows to abstract virtually any term.</p><p>This paper extends de Bruijn's ideas to properly overcome the multi-binding problem by introducing a novel presentation of <span>PPC</span> with bidimensional indices, in an effort to implement a prototype for a typed functional programming language based on <span>PPC</span> that captures path polymorphism.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2020-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.08.006","citationCount":"0","resultStr":"{\"title\":\"Pure Pattern Calculus à la de Bruijn\",\"authors\":\"Alexis Martín,&nbsp;Alejandro Ríos,&nbsp;Andrés Viso\",\"doi\":\"10.1016/j.entcs.2020.08.006\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>It is well-known in the field of programming languages that dealing with variable names and binders may lead to conflicts such as undesired captures when implementing interpreters or compilers. This situation has been overcome by resorting to de Bruijn indices for calculi where binders capture only one variable name, like the <em>λ</em>-calculus. The advantage of this approach relies on the fact that so-called <em>α</em>-equivalence becomes syntactical equality when working with indices.</p><p>In recent years pattern calculi have gained considerable attention given their expressiveness. They turn out to be notoriously convenient to study the foundations of modern functional programming languages modeling features like pattern matching, path polymorphism, pattern polymorphism, etc. However, the literature falls short when it comes to dealing with <em>α</em>-conversion and binders capturing simultaneously several variable names. Such is the case of the <em>Pure Pattern Calculus</em> (<span>PPC</span>): a natural extension of <em>λ</em>-calculus that allows to abstract virtually any term.</p><p>This paper extends de Bruijn's ideas to properly overcome the multi-binding problem by introducing a novel presentation of <span>PPC</span> with bidimensional indices, in an effort to implement a prototype for a typed functional programming language based on <span>PPC</span> that captures path polymorphism.</p></div>\",\"PeriodicalId\":38770,\"journal\":{\"name\":\"Electronic Notes in Theoretical Computer Science\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-09-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1016/j.entcs.2020.08.006\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Electronic Notes in Theoretical Computer Science\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S1571066120300426\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"Computer Science\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Electronic Notes in Theoretical Computer Science","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1571066120300426","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"Computer Science","Score":null,"Total":0}
引用次数: 0

摘要

在编程语言领域中,处理变量名和绑定器可能会导致冲突,例如在实现解释器或编译器时不希望捕获。这种情况已经克服了诉诸de Bruijn指数的微积分,其中粘合剂只捕获一个变量名称,如λ-微积分。这种方法的优点在于,当使用索引时,所谓的α-等价变成了语法等价。近年来,模式演算因其表现力受到了广泛的关注。事实证明,它们非常方便地研究现代函数式编程语言的基础建模功能,如模式匹配、路径多态性、模式多态性等。然而,当涉及到处理α-转换和同时捕获多个变量名称的粘合剂时,文献不足。这就是纯模式演算(PPC)的情况:λ演算的自然扩展,允许抽象几乎任何术语。本文扩展了de Bruijn的思想,通过引入一种具有二维索引的PPC的新表示来适当地克服多绑定问题,努力实现基于PPC的捕获路径多态性的类型函数式编程语言的原型。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Pure Pattern Calculus à la de Bruijn

It is well-known in the field of programming languages that dealing with variable names and binders may lead to conflicts such as undesired captures when implementing interpreters or compilers. This situation has been overcome by resorting to de Bruijn indices for calculi where binders capture only one variable name, like the λ-calculus. The advantage of this approach relies on the fact that so-called α-equivalence becomes syntactical equality when working with indices.

In recent years pattern calculi have gained considerable attention given their expressiveness. They turn out to be notoriously convenient to study the foundations of modern functional programming languages modeling features like pattern matching, path polymorphism, pattern polymorphism, etc. However, the literature falls short when it comes to dealing with α-conversion and binders capturing simultaneously several variable names. Such is the case of the Pure Pattern Calculus (PPC): a natural extension of λ-calculus that allows to abstract virtually any term.

This paper extends de Bruijn's ideas to properly overcome the multi-binding problem by introducing a novel presentation of PPC with bidimensional indices, in an effort to implement a prototype for a typed functional programming language based on PPC that captures path polymorphism.

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Electronic Notes in Theoretical Computer Science
Electronic Notes in Theoretical Computer Science Computer Science-Computer Science (all)
自引率
0.00%
发文量
0
期刊介绍: ENTCS is a venue for the rapid electronic publication of the proceedings of conferences, of lecture notes, monographs and other similar material for which quick publication and the availability on the electronic media is appropriate. Organizers of conferences whose proceedings appear in ENTCS, and authors of other material appearing as a volume in the series are allowed to make hard copies of the relevant volume for limited distribution. For example, conference proceedings may be distributed to participants at the meeting, and lecture notes can be distributed to those taking a course based on the material in the volume.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信