代码之家  ›  专栏  ›  技术社区  ›  Frank

对.NET的逻辑变量支持[关闭]

  •  8
  • Frank  · 技术社区  · 16 年前

    我正在寻找一个库/程序集,它允许我使用F#中的逻辑变量。我希望避免在实现所需的union-find数据结构、统一代码等方面重新发明轮子。

    我找到了 Prolog.NET

    我想做的是:

    • 绑定log.var。一个术语(库允许完整的Herbrand术语)
    • 均衡log.vars(i、 e.统一)

    有人知道有哪个库可以做到这一切,或者至少可以作为一个起点的库吗?

    3 回复  |  直到 16 年前
        1
  •  2
  •   Charles Stewart    16 年前

    Mini Kanren已经 implemented for Scala . 我不是一个.NET程序员,也不能说这对你有多有用,但Mini Kanren符合你的编程逻辑变量语言的要求:如果.NET中嵌入的Scala具有与你所追求的兼容的属性,那么你应该在那里。

        2
  •  4
  •   RD1    16 年前

    我在F#中嵌入了一个基本的逻辑编程。我为我教授的“编程范式”课程开发了它,这门课程在整个过程中都使用了F#,还包括一些关于逻辑编程的讲座。

    代码使用命令式更新来反映由于统一而产生的替换,并使用成功延续。因此,它与Kanren相对不同。

    我不确定这些笔记本身会有多大意义,但你可以在结尾处找到这种嵌入: http://undergraduate.csse.uwa.edu.au/units/CITS3242/16-logic-prog.pdf

    我可以提供一个精致的版本,这个嵌入的要求。

        3
  •  3
  •   Brian    16 年前

    this blog entry . 从我上大学的时候,我似乎想起了一些流行的关于Scheme的书,里面有一个基本的统一算法,我以前用它编写了一个“mini-prolog”实现。所以我觉得这是一个有合适经验的人可以在一个周末一起做的事情,以防有人在外面寻找一个项目(也许我会把它加到我自己的周末待办事项清单上。)