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的简明解释的主要内容,如果未能解决你的问题,请参考以下文章