单子表达式及其导数 [扩展版]

摘要:抽象化正则表达式中的导数计算,利用monad的概念对底层数据结构(如集合或线性组合)进行另一种解释。作为这种泛化优势的一个例子,我们首先介绍了基于分级模块monad的新的导出技术,然后展示了这种技术在泛化捕获组和反向引用的表达式解析中的应用。我们还将定义表达式的运算符扩展到值集合上的任意n元函数,如经典运算(如布尔权重的取反或交集)或更奇特的运算(如有理权重的代数平均值)。此外,我们介绍了如何使用Colcombet和Petrisan范畴定义的自动机来计算(非必需有限)自动机从这样一个扩展表达式中。这些范畴论概念使我们能够以统一的方式进行这种构造,不论底层monad是什么。最后,为了说明我们的工作,我们使用功能编程的先进技术提供了这些概念的Haskell实现,并提供了一个Web界面来操纵具体示例。

作者:Samira Attou, Ludovic Mignot, Cl''ement Miklarz and Florent Nicart

论文ID:2301.13054

分类:Formal Languages and Automata Theory

分类简称:cs.FL

提交时间:2023-01-31

PDF 下载: 英文版 中文版pdf翻译中