[ Term I/O | Reference Manual | Alphabetic Index ]
writeq(?Term)
The term Term is written on the current output in a form that can be read
in.
- Term
- Prolog term.
Description
Used to write the term Term on the current output according to the
current operator declarations. Atoms and strings are quoted,
operator expressions parenthesised (whenever necessary) and the
(stream-specific or global) print_depth flag is not taken into
account. The output of writeq/1 can be read back, provided that
the same operator declarations are in effect at write and read
time.
writeq(Term) is equivalent to printf("%DIMQvw", Term)
or write_term(Term, [attributes(full),quoted(true),numbervars(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 stream, by writing again or by using flush/1.
Note also that although it is possible to print suspensions and external
handles, these are printed in their printed representation as Prolog
terms with functors such as '$&'/2 (for handles). They will be read
back in as such Prolog terms, rather than as their original type.
Modes and Determinism
Modules
This predicate is sensitive to its module context (tool predicate, see @/2).
Examples
Equivalent to writeq(output, Term). (see writeq/2 for details).
See Also
printf / 2, write / 1, write / 2, writeq / 2