嵌入式 Prolog 解释器/编译器 java

我正在开发一个Java应用程序,它需要做一些复杂的逻辑规则演绎作为其功能的一部分。我想用Prolog或其他一些逻辑/约束编程语言而不是Java来编写我的逻辑演绎,因为我相信生成的代码会更简单,更易于维护。

我在Prolog上搜索了嵌入式Java实现,并找到了其中的许多实现,每个实现的文档都很少。我的(适度)选择标准是:

  • 应该可以嵌入Java中(例如,可以与我的java包捆绑在一起,而不是要求在外部程序上进行任何本机安装)
  • 从Java使用的简单界面(用于启动扣除,检查结果和添加规则)
  • 至少提供一些如何使用它的示例
  • 不一定是Prolog,但具有上述标准的其他逻辑/约束编程语言也适合我的需求。

我有什么选择,它们的优点和缺点是什么?


答案 1

根据维基百科,Prolog的以下版本具有Java接口。我已经链接到他们的主页:

祝您搜索顺利!


答案 2

SWI prolog 一个非常流行的实现似乎有一个Java接口,SiCStus也是如此,这比使用JNI在Java Process中实例化实例更容易。很久以前,我已经从C中使用了两者,并且确实推荐它们。我的优先权将是SWI,因为它是开源的,根据我的经验,它是事实上的实现。

SWI的Java接口的文档似乎已经足够了,嵌入过程非常简单。


推荐