逻辑编程中高阶特征的处理

摘要:逻辑编程范式为高阶概念提供了一个新的意向视图基础。这个视图主要通过使用类型化λ演算的术语作为表示设备,并使用更丰富的一种剖析其结构的统一化方式来实现。这些补充不仅在元编程应用中具有重要作用,还带来非平凡的实现问题。其中一个问题涉及适用于所需用途的λ术语的机器表示:一个合适的编码必须能够促进术语之间的比较操作,除了支持通常的约束计算。另一方面,还涉及到具有分支特性的统一操作的处理,有时需要延迟解决统一问题。最后一个问题涉及到目标的执行,在计算过程中才能显现它们的结构。本文介绍了这些各种问题,并描述了解决方法。通过利用de Bruijn的无名注释符号以及代换的明确编码,开发了一个令人满意的λ术语表示法。特殊机制被塑造到传统Prolog实现的结构中,以支持统一化中的分支操作和在其他计算步骤中传递统一解决问题;在这种情况下,重视利用确定性和模拟通常的一阶行为。提出了一个扩展的编译模型,处理了高阶统一,并处理具有动态出现目标的情况。这里介绍的思想已经应用于Lambda Prolog语言的Teyjus实现,并用于初步评估它们的功效。

作者:Gopalan Nadathur

论文ID:cs/0404020

分类:Programming Languages

分类简称:cs.PL

提交时间:2007-05-23

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