
write(+Stream, ?Term)

   The term Term is written on the output stream Stream according to the
current operator declarations.



Arguments
   Stream              Stream handle or alias (atom)
   Term                Prolog term.

Type
   Term I/O

Description
   Used to write the term Term on the output stream Stream according to the
   current operator declarations.  Lists and compound terms are only
   printed up to the nesting depth specified by the (stream-specific or
   global) print_depth setting (cf. set_stream_property/3, set_flag/2).

   write(Term) is equivalent to write_term(Term, [numbervars(true)]).


   Note that as usual, the output is buffered, so it may need to be flushed
   (e.g.  explicitly using flush/1).


Note
   The output of write/1 is not necessarily in a form acceptable to
   read/1,2.




Modes and Determinism
   write(+, ?) is det

Modules
   This predicate is sensitive to its module context (tool predicate, see @/2).

Exceptions
     4 --- Stream is not instantiated.
     5 --- Stream is not an atom or a stream handle.
   192 --- Stream is not an output steam.
   193 --- Stream is an illegal stream specification.

Examples
   
Success:
      ?- open(file1,update,s), write(s, X + 2), close(s).
      X = _72
      yes.
      ?- sh('cat file1').
      _72 + 2
      yes.

Error:
      write(S, a(b,c)).          (Error 4).
      write("string", a(b,c)).   (Error 5).
      write(9, X + 2).           (Error 192). % stream not open
      write(atom, X + 2).        (Error 193).




See Also
   display / 1, display / 2, get_flag / 2, set_flag / 2, write / 1, writeln / 2, writeq / 1, writeq / 2
