portray_clause/1
portray_clause(
+Clause)
Writes Clause to the current output stream. Used by
listing/[0,1]
.
The operation used by listing/0
and listing/1
.
Clause is written to the current output stream in exactly the
format in which listing/1
would have written it, including a terminating
full-stop.
If you want to print a clause, this is almost certainly the
command you want. By design, none of the other term output
commands puts a full-stop after the written term.
If you are writing a file of facts to be loaded by
the Load Predicates, use portray_clause/1
, which attempts
to ensure that the clauses it writes out can be read in again as clauses.
The output format used by portray_clause/1
and listing/1
has
been carefully designed to be clear. We recommend that you use a
similar style. In particular, never put a semicolon
(disjunction symbol) at the end of a line in Prolog.
Always succeeds without error.
| ?- portray_clause((X:- a -> b ; c)). A :- ( a -> b ; c ). X = _3185
| ?- portray_clause((X:- a -> (b -> c ; d ; e); f)). A :- ( a -> ( b -> c ; d ; e ) ; f ). X = _3295
| ?- portray_clause((a:-b)). a :- b. yes
| ?- portray_clause((a:-b,c)). a :- b, c. yes
| ?- portray_clause((a:-(b,!,c))). a :- b, !, c. yes
listing/[0,1]
, read/[1,2]
ref-iou-tou-pcl