Core.logic的简明解释

Posted

技术标签:

【中文标题】Core.logic的简明解释【英文标题】:Concise Explanation of Core.logic 【发布时间】:2012-05-10 08:49:00 【问题描述】:

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

谢谢!

【问题讨论】:

为什么这个被关闭为 OT?给 OP,看看github.com/clojure/core.logic/wiki/A-Core.logic-Primer。 不知道。已投票重新开放。 这个问题很适合这个标签。 【参考方案1】:

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 的论文。

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

【讨论】:

我要补充:github.com/clojure/core.logic/wiki/A-Core.logic-Primer 以及研究 Prolog 编程的建议(更多示例,类似想法,尽管不如 miniKanren 通用)。 您与伯德论文的链接已损坏。 :-(【参考方案2】:

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

有关该主题的简单介绍,另请参阅:sokuza-kanren

【讨论】:

以上是关于Core.logic的简明解释的主要内容,如果未能解决你的问题,请参考以下文章

Python中 sys.argv[]的用法简明解释

Python中 sys.argv[]的用法简明解释

Python中 sys.argv[]的用法简明解释

Python中 sys.argv[]的用法简明解释

HashSetLinkedHashSetTreeSet 简明解释

简明英语的 Javascript 闭包和副作用? (分别地)