了解 Mini-Kanren 的执行模型

Posted

技术标签:

【中文标题】了解 Mini-Kanren 的执行模型【英文标题】:Understanding Mini-Kanren's Execution Model 【发布时间】:2012-04-24 11:41:37 【问题描述】:

SICP 的第 5 章解释了寄存器机器的元循环评估器实习生方案。

在 Scheme 原语方面,有什么东西可以提供类似类型的 Mini-Kanren 吗?

我知道有一篇关于 Mini-Kanren 的论文(但是,我只关心构建一个心智模型;而不是所有血淋淋的优化细节)。我也知道有理性的计划者——但是,我不是在寻找一堆例子——我只是想以非常非常基本的形式理解 Mini-kanren,就像人们如何理解方案一样理解:eval、apply、if、set!、env

谢谢!

【问题讨论】:

here is The Reasoned Schemer 的 18 行 Haskell 实现(没有统一和逻辑变量)。 【参考方案1】:

我认为阅读 The Reasoned Schemer 实际上是学习基础知识的正确方法。您也可以尝试观看来自 Clojure Conj 的 Dan Friedman 和 William Byrd 的 miniKanren talk。

由于miniKanren总共只有seven forms,了解基本形式实际上就是了解整个事情。该实现仅涉及a page 的宏,因此您可以尝试理解这一点。您也可以尝试阅读 William Byrd 的 PhD thesis 的介绍性部分。

【讨论】:

很遗憾,谈话的链接已关闭。 好像是这样。其他 miniKanren 讲座的链接可在此处获得:minikanren.org【参考方案2】:

在The Reasoned Schemer 一书中,有一个基于Scheme 的非常简单的逻辑系统的实现。它是自成一体的,理解它的唯一需要就是书本身,以该系列中其他书籍的风格,它非常容易理解。

【讨论】:

以上是关于了解 Mini-Kanren 的执行模型的主要内容,如果未能解决你的问题,请参考以下文章

mini-kanren cond-a cond-u 和 cond-e 有啥区别?

了解并发内存模型(JMM)和 Volatile

了解并发内存模型(JMM)和 Volatile

了解并发内存模型(JMM)和 Volatile

深入了解软件测试

机器学习笔记 - 深入了解TensorFlow模型优化工具包