Seems there is a bug with the streams implementation. I am newbie to
both gnu-prolog and prolog, I am trying to save a knowledge base using
the following fragment of code. This code is working properly with
swi-prolog-lite, but not with gnu-prolog. Only the write statement
produce some output in the file, the listing predicate is generating
output to the screen as if the user_output stream has not been
redirected into the file bozo.pl. A write after listing will output to
the file as expected. What is going wrong with listing? Is there a
work around?
consult('toto.pl').
open('bozo.pl',write,Fic),set_output(Fic),write(':-
dynamic(kb/2).'),nl,listing(kb),flush_output(Fic),close(Fic).
Assume the output file is bozo.pl and the knowledge base is kb and in
file toto.pl.
I tried as well this way with the same result, working fine with
swi-prolog-lite:
consult('toto.pl').
tell('bozo.pl'),write(':- dynamic(kb/2).'),nl,listing(kb),told.
I am running gnu-prolog 1.2.16 with Linux kernel 2.6.13.
TIA,
--
-----------------
Daniel Savard
_______________________________________________
Bug-prolog mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/bug-prolog