:- object(triple).


	:- info([
		version is 1.0,
		author is 'Paulo Moura',
		date is 2004/2/16,
		comment is 'Read and asserts a simple table of facts from a file for testing operator handling code.']).

	:- public(triple/2).
	:- dynamic(triple/2).

	:- op(500, xfx, triple).

	:- initialization(read_from_file).


	read_from_file :-
		open('triple.txt', read, Stream),
		read(Stream, Term),
		process(Stream, Term).

	process(Stream, end_of_file) :-
		close(Stream),
		!.

	process(Stream, Term) :-
		assertz(Term),
		read(Stream, Next),
		process(Stream, Next).


:- end_object.