Core.logic的简明解释

20 scheme clojure logic-programming minikanren clojure-core.logic

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

谢谢!

dno*_*len 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的论文.

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

  • 我将添加:https://github.com/clojure/core.logic/wiki/A-Core.logic-Primer以及关于Prolog编程的建议(更多示例,类似的想法,但不如多才多艺miniKanren). (3认同)