具有简单组合语义的结构化Prolog替代方案

摘要:重新设计的Prolog语言的结构性替代剪切和子句,保持表达能力和计算模型,但具有基于更简单状态(仅变量绑定)的组成性指示语义,从而极大地简化了程序的推理,通过程序员和工具(如部分求值器)进行程序的安全展开。通过子句之间的if-then-else替代了大多数剪切的使用,但通过一个直到构件可以实现剪切的完整功能。析取、合取和直到运算,以及统一,是具有组合语义的原始目标类型,产生了变量绑定解的序列。这通过通常的最小不动点构造技术扩展到程序。在替代语言中简单的Prolog解释器和对于直到的定义都证明了这两种语言具有相同的表达能力。许多有用的控制结构可以从原始目标派生推导出来,语义框架阐明了替代方案的讨论。形式化的基础是变量抽象的项语言,就像λ演算一样。一个子句是对于调用参数、继续和局部变量的抽象。它可以是包容性的或排他性的,通过析取或者if-then-else表达了一个局部情况通过继续与之绑定。子句是开放的定义,通过简单的函数应用(η-还原)进行组合(和封闭)。这为灵活的模块组合机制提供了简单的解释。具有暴露原则的具体语言Cube已实现。

作者:Ant''onio Porto

论文ID:1107.5408

分类:Programming Languages

分类简称:cs.PL

提交时间:2011-07-28

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