首页 文章

将prolog应用程序转换为基于JVM的语言? [关闭]

提问于
浏览
3

我有一个中等大小的传统ISO prolog应用程序,我想转向基于JVM的语言 . 该应用程序是一个命令行工具,它解析文本文件,进行一些评估/转换,然后导出基于文本的文件 .

我的团队主要使用Java开发,因此我们拥有大量现有的Java权限和可重用的组件 . 然而,Prolog的能力非常低 .

我不希望有一个工具需要prolog源代码并将其转换为其他语言 . 但我试图了解什么是最简单的解决方案 . 从Java开始,还是使用像Clojure这样的功能更强大的语言?

4 回答

  • 2

    Prolog与java和其他面向对象语言有很大的不同 . 我研究了这种语言,看到了另一种编程方式 . 但我不认为有一个神奇的解决方案将prolog应用程序转换为Java应用程序 . 逻辑是不一样的,没有其他语言像Prolog . 我认为你必须分析你的prolog应用程序的确切做法,并从scractch开始使用新的java应用程序 .

  • -2

    这主要取决于您团队的技能 . 你提到你的团队有很好的Java技能;为什么不从那开始呢?

    如果他们不了解LISP,他们将花费大量时间从头开始学习 . 学习LISP是一项相当大的投资,但最终肯定会付出代价 .

    虽然Clojure会在你的情况下为你提供很多帮助(因为数据流和数据转换),但我认为Java是一个更好的选择,因为你的团队能胜任它 .

  • 2

    您可以考虑将Clojure与core.logictutorial)一起使用,这是一个miniKanren实现 . 您需要一些逻辑/函数编程技能,但您可以留在JVM上 .

  • 5

    但我正在努力了解什么是最简单的解决方案 .

    Prolog的一些实现在JVM平台上运行 . 维基百科在这里列出其中5个:http://en.wikipedia.org/wiki/Comparison_of_Prolog_implementations . 因此,最简单的解决方案是在Prolog中训练团队成员,并将应用程序移植到JVM Prolog实现中 . (这可能是一件简单的事......)

    无论如何,团队中的某个人可能需要Prolog技能才能成功将Prolog翻译成其他语言 .


    但是,我认识到可能还有其他原因需要翻译;例如如果现有的Prolog代码无论如何都需要进行重大改革 .

相关问题