[ Term I/O | Reference Manual | Alphabetic Index ]
write_canonical(?Term)
The term Term is written on the stream output in a form that ignores
operator declarations and can be read in.
- Term
- Prolog term.
Description
Used to write the term Term in a form that can be read back independent
of the current operator declarations. Atoms and strings are quoted,
operator declarations are ignored, lists are printed as ./2 structures,
the (stream-specific or global) print_depth flag is not taken into account,
variable attributes are printed, and variables are printed with unique
identifiers.
write_canonical(Term) is equivalent to printf("%DMOQv.w", Term)
or write_term(Term, [attributes(full),operators(false),quoted(true),
dotlists(true),variables(raw),depth(full),transform(false)]).
Note that as usual, the output is buffered, so it may need to be flushed
either by closing the output stream, by writing again or by using
flush/1.
Modes and Determinism
- write_canonical(?) is det
Modules
This predicate is sensitive to its module context (tool predicate, see @/2).
Examples
Equivalent to write_canonical(output, Term).
(see write_canonical/2 for details).
See Also
write / 1, write / 2, writeq / 1, writeq / 2, write_canonical / 2