Java 是否将prolog应用程序转换为基于JVM的语言?

Java 是否将prolog应用程序转换为基于JVM的语言?,java,clojure,jvm,prolog,Java,Clojure,Jvm,Prolog,我有一个中等大小的遗留ISO prolog应用程序,我想将其转换为基于JVM的语言。该应用程序是一个命令行工具,它解析文本文件,进行一些计算/转换,然后导出基于文本的文件 我的团队主要用Java开发,因此我们有很多现有的Java能力和可重用组件。然而,Prolog的能力非常低 我不希望有一种工具能够将prolog源代码转换成其他语言。但我想知道什么是最简单的解决办法。从头开始使用Java或使用Clojure?等功能性更强的语言,这主要取决于团队的技能。您提到您的团队拥有相当好的Java技能;为什

我有一个中等大小的遗留ISO prolog应用程序,我想将其转换为基于JVM的语言。该应用程序是一个命令行工具,它解析文本文件,进行一些计算/转换,然后导出基于文本的文件

我的团队主要用Java开发,因此我们有很多现有的Java能力和可重用组件。然而,Prolog的能力非常低


我不希望有一种工具能够将prolog源代码转换成其他语言。但我想知道什么是最简单的解决办法。从头开始使用Java或使用Clojure?等功能性更强的语言,这主要取决于团队的技能。您提到您的团队拥有相当好的Java技能;为什么不从这个开始呢

如果他们不懂LISP,他们会花很多时间从头开始学习。学习LISP是一项相当大的投资,但最终肯定是值得的


尽管Clojure将在您的案例中为您提供很多帮助(因为数据流和数据转换),但我认为Java是一个更好的选择,因为您的团队能够胜任它。

Prolog与Java和其他面向对象语言有很大的不同。我学习这种语言是为了寻找另一种编程方式。
但我不认为有一个神奇的解决方案可以将prolog应用程序转换为java应用程序。逻辑是不同的,没有其他语言像Prolog一样。我认为你必须分析你的Prolog应用程序到底做了什么,然后从SCractCH到一个新的java应用程序。

你可以考虑使用Culjule和()这是一个实现。您需要一些逻辑/函数式编程技能,但可以留在JVM上

但我想知道什么是最简单的解决办法

Prolog的一些实现在JVM平台上运行。维基百科在这里列出了其中的5个:。因此,也许最简单的解决方案是用Prolog培训团队中的人员,然后将应用程序移植到JVM Prolog实现中。(这可能是一件简单的事情……)

您团队中的某些人可能需要Prolog技能才能成功地将Prolog翻译成其他语言



然而,我承认可能还有其他原因需要翻译;e、 g.如果现有的Prolog代码仍然需要大修。

您确定需要函数式编程吗?这个应用程序真正的功能是什么?有许多用于文本转换和评估的java库—雅加达、velocity、@NeplatnyUdaj,为什么会出现这个问题?Clojure是一种JVM语言,可以使用任何现有的JVM库。@NeplatnyUdaj顺便说一句,没有名为“Jakarta”的库。雅加达是许多Java项目的保护伞,我不认为这是个问题。我只是想知道是否有必要。任何事情都可以用纯java来完成,这取决于具体的任务,是学习新的编程范式更好,还是使用团队已经体验过的技术更好。你对雅加达的看法是对的,当然,我应该说apache commons。那些搁置这个问题的人比我更有名气,但我想知道这个问题是否应该被允许,尽管这个问题处于边缘。问题是模糊的,答案可能到处都是,但OP有一个非常实际的问题,需要一些指导,以便得到一个或多个更具体的问题。(或者问题应该转移到Programmers.SE。)+1 for core.logic-这是一个精心制作且非常有效的工具,我已经成功地使用它解决了一些逻辑编程问题。