clojure - Core.logic的简要说明

标签 clojure scheme logic-programming minikanren clojure-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的学位论文。

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

关于clojure - Core.logic的简要说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10387320/

相关文章:

prolog - 在序言中定义多个规则的最短方法

clojure - 从嵌套映射中获取值

clojure - 懒惰和堆栈溢出

java - 昂贵算法的 Clojure 性能

macros - 放!全局来自 Scheme 宏?

list - 方案:当我使用两个原子时,我在中间得到一个点。为什么?

Clojure - 将列表元素视为函数参数

functional-programming - 为什么在Scheme中cond是一种特殊形式,而不是函数?

prolog - 前言:失败驱动循环

prolog - 建模约束逻辑程序(用于分析)