Javascript は、他のプログラミング言語の実装言語として人気が出てきているようです。(C)LP から JavaScript への軽量コンパイルの記事 。ICLP 2012 はこれに注目しました。
Web 上には、Javascript で書かれた Prolog システムの概念実証プロトタイプがたくさんあります。
Javascript で書かれた現在の、積極的に維持されている、できれば ISO 準拠の Prolog システムは何ですか?
Javascript は、他のプログラミング言語の実装言語として人気が出てきているようです。(C)LP から JavaScript への軽量コンパイルの記事 。ICLP 2012 はこれに注目しました。
Web 上には、Javascript で書かれた Prolog システムの概念実証プロトタイプがたくさんあります。
Javascript で書かれた現在の、積極的に維持されている、できれば ISO 準拠の Prolog システムは何ですか?
私が知っているJavaScriptの唯一のPrologはYieldPrologですが、私はそれを広範囲に試していません。QueryEditorで利用可能なコードだけです。
軽量なyieldコンストラクトを使用するよりも期待していました(C#でこのようなコンストラクトを広範囲に使用しましたが、ラムダとペアになっているため、かなり強力であることがわかりました)。
しかし、私が(要約して)ソースを調べたとき、仮定にもかかわらず、それは本当に複雑であることがわかりました。
編集
私は最近、これらの貢献を見つけました。それは本当に興味深いようです: proscriptとproscript2。
編集
利用可能な新しい実装:
Tau Prolog、SWIメーリングリストで1月から私の注意を引いた
編集
何か新しいもの、hhprolog、純粋なPrologエンジン、Paul Tarauによって提供されたコードとドキュメントに基づいており、私がJavascriptに移植しました。そのため、ブラウザとNodeJSの両方で利用できます。
プロジェクトはまだ予備的なものであり、主にインタプリタにブートストラップする必要があります。現在、Prologを(新しい)仮想マシンに(事前に)コンパイルするには、SWI-Prologをインストールし、適切に構成する必要があります(JPLが必要)。
このようなブートストラップを実装するには、おそらく否定を実装するか、Paulのインターフェイスを再利用するか、純粋なパラダイムにとどまる何かを実装しようとする必要があります。特に、無制限の整数演算のみです(Paul Tarauによると、利用可能なPythonコードがいくつかあります。Javascriptへの移植を怠惰に試みます)。