我赞同 Sir Whinesalot 帖子中的建议(我还没有完全读完),建议看看……
我赞同 Sir Whinesalot 帖子中的建议(我还没有完全读完),建议看看 miniKanren 和 microKanren。几年前我将 microKanren 移植到 OCaml 时,发现这非常有教育意义,我认为结果比原始的 Scheme 版本更易理解,尽管你可能仍需要阅读论文才能理解它:http://canonical.org/~kragen/sw/dev3/mukanren.ml miniKanren 最令人惊讶的成果是一个你可以正向、反向或双向运行的 Scheme 解释器。http://webyrd.net/quines/quines.pdf 展示了如何用它生成一个 Scheme 自指程序,也就是运行时输出自身的 Scheme 程序(“miniKanren,现场且未标记:通过关系解释器生成自指程序(编程珠玑)”,Byrd、Holk 和 Friedman)。SICP 第 4.4 节 http://sarabander.github.io/sicp/html/4_002e4.xhtml 也有关于在 Scheme 中实现逻辑编程的非常易懂的示例。与该帖子不同,我认为 Datalog 不是寻找逻辑编程深层见解的地方。……
源讨论实现逻辑编程原帖 76 条评论 · 导入时统计