在逻辑编程方面,Prolog和miniKanren之间的主要技术差异是什么?

时间:2015-02-12 00:04:30

标签: prolog logic-programming minikanren

当我想阅读逻辑编程时,我总是偶然发现两个" main"现在如何做到这一点:

  • miniKanren The Reasoned Schemer中引入的一种小语言,由于core.logic而受欢迎。
  • Prolog ,第一个"大"逻辑编程语言。

我现在感兴趣的是:两者之间的主要技术差异是什么?它们在方法和实现方面是非常相似的,还是采用完全不同的逻辑编程方法?他们来自哪些数学分支,以及理论基础是什么?

1 个答案:

答案 0 :(得分:4)

暂定答案:

AFAIK," The Reasoned Schemer"以Scheme-y语法和函数式编程风格引入基本逻辑编程,特别添加了常量目标"#u" (失败)和"#s" (suceeed)到布尔值" #t"和"#f"。它使用与Prolog:统一和回溯搜索相同的逻辑编程方法。我会看看周末是否有时间从架子上取回那本书。数学分支是限制形式的一阶逻辑,在这种情况下是Horn条款,以及Resolution Unfication。请参阅:John Alan Robinson的Computational Logic: Memories of the Past and Challenges for the Future和Robert Kowalski的The early years of logic programming冷启动。