arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1708.08003cs.PL
收藏

函数式程序的展开语义

The Unfolding Semantics of Functional Programs

José María Rey-Poza, Julio Mariño-Carballo

摘要:

使用展开作为计算程序语义的一种方式的思想已经成功地应用于逻辑程序,并且已经显示出它本身是一种提供具体的、可实现的结果的强大工具,因为它的结果实际上是源代码。因此,它可以用于描述大多数声明性语言中的非声明性结构,或用于静态分析。然而,基于展开的语义还没有被应用到更高阶的、惰性的函数式程序中,可能是因为逻辑程序中缺少的一些函数式功能使得执行和展开之间的对应关系不那么简单。这项工作提出了一个展开语义高阶,懒惰的功能性程序,并证明了它的充分性相对于一个给定的操作语义。最后,我们介绍了我们的语义的一些应用。

英文摘要:

The idea of using unfolding as a way of computing a program semantics has been applied successfully to logic programs and has shown itself a powerful tool that provides concrete, implementable results, as its outcome is actually source code. Thus, it can be used for characterizing not-so-declarative constructs in mostly declarative languages, or for static analysis. However, unfolding-based semantics has not yet been applied to higher-order, lazy functional programs, perhaps because some functional features absent in logic programs make the correspondence between execution and unfolding not as straightforward. This work presents an unfolding semantics for higher-order, lazy functional programs and proves its adequacy with respect to a given operational semantics. Finally, we introduce some applications of our semantics.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑