Javascript似乎越来越受欢迎,成为其他编程语言的实现语言。 这篇文章 Lightweight compilation of (C)LP to JavaScript. ICLP 2012 引起了我的注意。
在网络上用Javascript编写的Prolog系统有很多概念验证原型。
什么是当前的,积极维护的,最好是用Javascript编写的符合ISO标准的Prolog系统?
答案 0 :(得分:14)
我知道的唯一的Prolog是YieldProlog,但我还没有广泛尝试,只有QueryEditor中的代码。
我希望使用yield构造它是轻量级的(我在C#中广泛使用了这样的构造,我发现它 - 与lambda配对 - 相当强大)。
但是当我(简要地)查看来源时,我发现它确实很复杂,尽管有这些假设。
修改的
我最近发现这些贡献,看起来真的很有趣: proscript和proscript2。
修改的
可用的新实施:
Tau Prolog,引起我注意来自SWI邮件列表上的Jan
修改的
一些新的,hhprolog,一个纯粹的Prolog引擎,基于Paul Tarau提供的代码和文档,由我移植到Javascript。因此,可在浏览器和NodeJS中使用。
该项目仍然是初步的,主要需要引导到解释器:现在(预)编译Prolog到(新颖的)虚拟机必须通过安装SWI-Prolog,正确配置(需要JPL)来完成。
为了实现这样的引导,我可能需要实现否定,重用Paul'接口,或 - 更好 - 尝试实现保持纯粹范式的东西。特别是,只有无界的整数算术(再次由Paul Tarau,有一些Python代码可用 - 我会懒得尝试移植到Javascript)。