当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Pure Pattern Calculus \`a la de Bruijn
arXiv - CS - Programming Languages Pub Date : 2020-06-13 , DOI: arxiv-2006.07674
Alexis Mart\'in, Alejandro R\'ios, Andr\'es Viso

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 $\lambda$-calculus. The advantage of this approach relies on the fact that so-called $\alpha$-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 $\alpha$-conversion and binders capturing simultaneously several variable names. Such is the case of the Pure Pattern Calculus (PPC): a natural extension of $\lambda$-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.

中文翻译:

纯模式微积分\`a la de Bruijn

在编程语言领域众所周知,在实现解释器或编译器时,处理变量名和绑定器可能会导致诸如意外捕获之类的冲突。这种情况已经通过对微积分采用 de Bruijn 指数来克服,其中活页夹仅捕获一个变量名称,例如 $\lambda$-calculus。这种方法的优势依赖于这样一个事实,即所谓的 $\alpha$-equivalence 在处理索引时变成了句法相等。近年来,模式演算因其表现力而受到了相当多的关注。众所周知,它们非常方便地研究现代函数式编程语言的基础建模功能,如模式匹配、路径多态性、模式多态性等。 然而,在处理 $\alpha$ 转换和同时捕获多个变量名称的绑定器时,文献不足。这就是纯模式演算 (PPC) 的情况:$\lambda$-演算的自然扩展,它允许抽象几乎任何术语。本文扩展了 de Bruijn 的想法,通过引入具有二维索引的 PPC 的新颖表示来正确克服多绑定问题,以努力实现基于 PPC 的类型化函数式编程语言的原型,该语言捕获路径多态性。
更新日期:2020-06-30
down
wechat
bug