Prolog 什么更有趣或更强大:咖喱,水星或兰姆达序言?

Prolog 什么更有趣或更强大:咖喱,水星或兰姆达序言?,prolog,logic-programming,mercury,curry,lambda-prolog,Prolog,Logic Programming,Mercury,Curry,Lambda Prolog,我想问一下,从零开始/逆向工程实现什么样的正式系统更有趣 我浏览了一些现有的和开源的逻辑/声明性编程系统项目。我决定在空闲时间做一些类似的事情,或者至少了解一下实现的总体思路 如果这些系统中的一些能够在逻辑及其与计算模型的关系方面提供现代学术研究的大部分表达能力和简洁性,那就太好了 你建议至少在概念层面研究什么?例如,Lambda Prolog特别有趣,因为它允许高阶关系,但AFAIK基于直觉逻辑,因此缺乏排除中间原则;这对我来说通常是个劣势 我也欢迎任何关于现代逻辑编程系统的建议,这些系统不太

我想问一下,从零开始/逆向工程实现什么样的正式系统更有趣

我浏览了一些现有的和开源的逻辑/声明性编程系统项目。我决定在空闲时间做一些类似的事情,或者至少了解一下实现的总体思路

如果这些系统中的一些能够在逻辑及其与计算模型的关系方面提供现代学术研究的大部分表达能力和简洁性,那就太好了

你建议至少在概念层面研究什么?例如,Lambda Prolog特别有趣,因为它允许高阶关系,但AFAIK基于直觉逻辑,因此缺乏排除中间原则;这对我来说通常是个劣势


我也欢迎任何关于现代逻辑编程系统的建议,这些系统不太流行,但更具表现力/功能。

Prolog是第一种改变我编程观点的语言。但后来我发现它并不像我想看到的那样高层次

咖喱-我只试过Munster CC,觉得有点不方便。实际上,在这一点上,我决定不再忽视哈斯克尔


水星有很多我想在序言中看到的东西。我对区分规则模式的可能性有很好的期望。用Mercury编写的程序应该会激发编译器进行大量优化(我想)。

对于我参加的编程语言课程的最后一个项目,我们必须使用连续体和宏在Scheme中嵌入Prolog计算器。最终的结果是,您可以自由地混合Scheme和Prolog代码,甚至可以将Scheme中编写的任意谓词传递给Prolog引擎


这是一个很有教育意义的练习。前12行代码(
)实际上需要6个小时来编写和更正。这几乎就是搜索逻辑,使用continuations非常简洁地编写。剩下的就更容易了。然后,一旦我添加了统一算法,一切都正常了

如果我试图扩展一个基于逻辑的系统,我会选择它,因为它体积小、开源、符合标准,并且可以很容易地集成到基于java的系统中。


它对lambda prolog进行了显著的概括,它是一种逻辑框架、元逻辑框架以及逻辑编程语言。如果你需要一种既注重逻辑又注重计算的语言,这是我所知道的最好的语言。

Prolog很吸引人。但更重要的是,它到底有多“简单”。这是一个类似的问题:自2013年以来,Twelf没有任何更新。你知道它是否仍然是一个活跃的项目吗?