17

Javascript 似乎作为其他编程语言的实现语言变得流行。(C)LP 到 JavaScript的轻量级编译一文 。ICLP 2012 引起了我的注意。

网上有很多用 Javascript 编写的 Prolog 系统的概念验证原型。

什么是当前的、积极维护的、最好是符合 ISO 标准的用 Javascript 编写的 Prolog 系统?

4

1 回答 1

14

我知道的 JavaScript 中唯一的 Prolog 是YieldProlog,但我没有广泛尝试过,只是QueryEditor中可用的代码。

我希望它比使用 yield 构造更轻量级(我在 C# 中广泛使用了这种构造,我发现它 - 与 lambda 配对 - 相当强大)。

但是当我(概括地)检查源时,我发现它非常复杂,尽管有假设。

编辑

我最近发现了这些看起来非常有趣的贡献: proscriptproscript2

编辑

一个新的实现可用:

Tau Prolog,从 Jan 在 SWI 邮件列表中引起了我的注意

编辑

新的东西,hhprolog,一个纯 Prolog 引擎,基于 Paul Tarau 提供的代码和文档,由我移植到 Javascript。因此,在浏览器和 NodeJS 中都可用。

该项目仍处于初步阶段,最需要的是引导解释器:现在(预)编译 Prolog 到(新型)虚拟机必须安装 SWI-Prolog,正确配置(需要 JPL)。

为了实现这样的引导,我可能需要实现否定,重用 Paul 的接口,或者 - 更好地 - 尝试实现一些停留在纯范式中的东西。特别是,只有无界整数算术(同样由 Paul Tarau 提供,有一些 Python 代码可用 - 我会尝试懒惰地移植到 Javascript)。

于 2013-03-15T19:36:26.423 回答