关于clojure:Core.logic的简要说明

Concise Explanation of Core.logic

我想使用Clojure的Core.logic。 但是,我也想了解它是如何工作的。 在某处有简洁的解释吗? (像实现元循环评估器一样?)

谢谢!


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

如果您想了解它是如何工作的,则需要阅读威廉·伯德论文的前三章:https://scholarworks.iu.edu/dspace/bitstream/handle/2022/8777/Byrd_indiana_0093A_10344.pdf?sequence=1

合理计划者还详细介绍了统一者。但是,对miniKanren更为微妙的目标部分并没有进行全面的处理-为此,您需要查看Byrd的学位论文。

即使到那时,就像使用元循环解释器一样,如果不尝试以各种编程语言自己实现系统,就无法获得许多见解。


您还可以从Strange Loop 2012中看到David在core.logic上的演讲。

有关该主题的简要介绍,请参见:sokuza-kanren