Core.logic的简明解释

时间:2012-04-30 16:43:22

标签: clojure scheme logic-programming minikanren clojure-core.logic

我想使用Clojure的Core.logic。但是,我想了解它是如何工作的。在某处有简明的解释吗? (就像实施一个元外评估者?)

谢谢!

2 个答案:

答案 0 :(得分:19)

core.logic是miniKanren的一个实现 - 最初是由Dan Friedman,William Byrd,Oleg Kiselyov和其他人在Scheme中编写和设计的。这是试图在Lisp中嵌入Prolog风格的关系编程。

如果你想了解它是如何运作的,你需要阅读William Byrd的论文前三章:https://scholarworks.iu.edu/dspace/bitstream/handle/2022/8777/Byrd_indiana_0093A_10344.pdf?sequence=1

Reasoned Schemer还详细介绍了统一者。然而,miniKanren的更微妙的目标部分并未得到全面的处理 - 你需要查看Byrd的论文。

即便如此,与元循环解释器一样 - 如果不尝试用各种编程语言自己实现系统,就无法获得许多见解。

答案 1 :(得分:2)

您还可以在Strange Loop 2012中看到David's talk on core.logic

对于该主题的非常简单的介绍,请参阅:sokuza-kanren