基于必需归约的函数逻辑程序特化
编程语言
2007-05-23 v1
摘要
许多函数逻辑语言基于归约,这是一种基于合一的目标求解机制,它包含了函数语言的归约机制和逻辑语言的归结原理。必需归约是一种最优求值策略,构成了现代(基于归约的)惰性函数逻辑语言的基础。在本工作中,我们介绍了此类语言中部分计算的基本原理。我们提供了基于必需归约的部分计算的正确性结果,并证明了该策略的良好性质对特化过程至关重要。具体而言,部分计算保留了原始程序的结构,因此相同的求值策略可用于执行特化后的程序。这与其他可能以负面方式改变程序结构的惰性函数逻辑程序部分计算方案形成对比。最近关于声明式多范式程序部分计算的提案使用(某种形式的)必需归约在部分计算时执行计算。因此,我们的结果构成了此类部分计算器正确性的基础。
引用
@article{arxiv.cs/0403011,
title = {Specialization of Functional Logic Programs Based on Needed Narrowing},
author = {Maria Alpuente and Michael Hanus and Salvador Lucas and German Vidal},
journal= {arXiv preprint arXiv:cs/0403011},
year = {2007}
}
备注
48 pages. This paper has been accepted for publication in the Journal of Theory and Practice of Logic Programming. In contrast to the journal version, this paper contains the detailed proofs of the results presented in this paper