ユーザの入/出力
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

ここでは、対話的プログラミングツール"iptool"をコンサルトします。

以下のような内容のファイル"iptool"を述語edit/1を使って作成して下さい(editor/2を参照して下さい)。ファイルに書き込み、エディタを終了すると、IF/Prologは自動的にファイルをリコンサルトし、インタプリタレベルに戻ります。

?- edit( iptool).

% two built-in predicates are used in this program that % allow users to write interactive programs in IF/Prolog % "read(Input)", "write(Output)". Combined with "asserta" % they form this interactive programming tool.

:- op(100,xfy,reports_to).

iptool :- write('To finish, type in: stop.\n'), write('Type in terms like: X reports_to Y.\n'), repeat, write(:),tab(1), read(Term), interpreter(Term).

interpreter(stop) :- !. interpreter(X reports_to Y) :- !, asserta(X reports_to Y), fail. interpreter(_):- !, write('"X reports_to Y." expected, try again:\n'), fail.

reconsult: file 'iptool' loaded in 1 sec.

yes ?- _

この対話的プログラミングツールをコマンドiptoolで動かし、アサ−トしたい節を入力して下さい。

?- iptool.

To finish, type in : stop. Type in terms like : X reports_to Y. : 'Mr.Friday' reports_to 'Mr.Monday'. :_ . . . : stop.

"stop."を入力すると、iptoolは名前を要求するのを止めます。

述語"listing(reports_to)."は、以下のように"iptool"によってアサ−トされた入力を示します。

?- listing(reports_to). ....


Up read on...