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