%:- auto_table.

:- export
	write_facts/1.

:- import make_frame/1 from docframes.
%:- import build/2 from build.
:- import pretty_print/1 from pretty_print.
:- import str_cat/3 from string.
%:- import member2/2 from listutil.
%:- import append/3 from lists.

write_facts([]).

write_facts([H|T]) :-
	write_facts(H),
	write_facts(T).

write_facts(files(FileList)) :-
	write_facts(FileList).

write_facts(FileName) :-
	atom(FileName),
	make_frame(FileName),
	Fact =.. [FileName, _, _],
	setof(Fact, call(Fact), Facts),
	str_cat(FileName, '.facts', FactFile),
	tell(FactFile),
	output(Facts),
	told,
	abolish(FileName, 2).

output([]).

output([H|T]) :-
	pretty_print(H),
	output(T).

