MINERVA superseeded IF/Prolog.
Please see
http://www.ifcomputer.co.jp/MINERVA
for details.
We discontinued to sell IF/Prolog Dec 31. 2003.
Dedicated technical support for IF/Prolog ended Dec 31 2008.
This site is maintained as a community service only.
IF/PrologのライブラリはDEC10 Prologのためのパブリックドメインライブラリをベースとしています。多くの述語はこのライブラリから持ってきて、IF/Prolog用に書き直したものです。
IF/Prologのモジュールの概念が、IF/Prologとライブラリの述語とのインタフェースとして使用されています。
ライブラリのソースコードとそれをコンパイルしたファイルは、
$PROROOT/library
のディレクトリの中にあります。
IF/Prologのライブラリは、 ソースファイルを収めた8つのサブディレクトリよりなり、ユーザーが好きなように加工することができるようになっています。
ライブラリの述語は二つのサブディレクトリにグループ分けされています。`io'サブディレクトリには入力と出力に関するライブラリ述語があり、`data'サブディレクトリは様々なデータ構造およびそのアクセス方法の実装に関するディレクトリです。$PROROOT/libraryはデフォルトのライブラリパスに含まれているので、ライブラリ述語は、内蔵の自動ロードメカニズムにより、いつでも使用することができます。
以下の例は、list.proのファイルにある述語の使用例を示しています。
?- lists:numlist(1,10,L), lists:sumlist(L,Sum).
L =[1,2,3,4,5,6,7,8,9.10]
Sum =55
Yes
モジュール機能を使用すれば、ライブラリーから必要なモジュールを簡単にインポートすることができます。これによって、明示的にモジュールの指定をしなくても、これらの述語を使えるようになります。
?- module(test).
?- export([test/2]).
?- import([lists,[numlist/3, sumlit/2]]).
?- module_body(test).
test(N, Sum) :- numlist(1,N,L), sumlist(L,Sum).
ライブラリに含まれているさまざまなソースファイルを御覧になって下さい。これらのファイルで提供される機能がどのようなものであるか、よくおわかりいただけると思います。
|