12


5

プロローグのプロローグ?

Prologプログラムを定期的に作成する場合、おそらく常に依存している述語の独自のライブラリがあります。 一部のPrologシステムには、事前定義された述語の豊富なセットが付属していますが、そうでないものもあります。 一部のシステムにはライブラリがありますが、他のシステムとはほとんど互換性がありません。 また、多くの既存のライブラリには、めったに必要とされない多くの述語が含まれています。 しかし、その後、「存在する」必要がある述語がいくつかあります。 そして、11月以降にいくつかの進展がありますhttp://www.complang.tuwien.ac.at/ulrich/iso-prolog/conformity_assessment#progress[like this] and http://www.iso.org/iso/ iso_catalogue / catalogue_tc / catalogue_detail.htm?csnumber = 58033 [Cor.2](http://www.complang.tuwien.ac.at/ulrich/iso-prolog/dtc2[draft])。 なぜここにもいないのですか?

あなたの好きな述語は何ですか? これは述語であり、ISOコアでは定義されていません。

はじめに:「between / 3」、「member / 2」、「length / 2」、「dif / 2」、「maplist / 2」、…​

DCGの場合: seq // 1、` iseq // 1`、 …​ // 0

'' '' '

編集: Prologプロローグの最初のドラフトはhttp://www.complang.tuwien.ac.at/ulrich/iso-prolog/prologue [こちら]にあります!

'' '' '

*編集:*この質問を再度開く場合は、再度開くように投票してください。また、質問が再度閉じられないように、質問を再編成するのに役立ちます。

1 回答


4


とても良い質問です。 Haskellの場合のように、「member / 2」、「length / 2」、「maplist / 2」(既に提案している)に加えて、「transpose / 2」をお勧めします。 また、「memberchk / 2」、「select / 3」、「append / 3」。 ユーザーが調査に役立つように、特定のPrologファイルを用語ごとに処理するPrologプログラムを提供します(句ごとに定義)、それが定義する述語を記録し、どの述語が呼び出すかを追跡し、そこから(オプションで)減算します明示的にインポートするライブラリによって提供される述語 このようなプログラムを複数のソースファイルで実行すると、Prologの便利な「プロローグ」ライブラリの出発点として適切です。