`print'
-------

print(OBJ [,NL])
     :: Displays (or outputs) OBJ.

RETURN
     0

OBJ
     arbitrary

NL
     flag (arbitrary)

   * Displays (or outputs) OBJ.

   * It normally adds linefeed code to cause the cursor moving to the
     next line.  If 0 or 2 is given as the second argument, it does not
     add a linefeed.  If the second argument is 0, the output is simply
     written in the buffer.  If the second argument is 2, the output is
     flushed.

   * The return value of this function is 0.  If command `print(RAT);'
     is performed at the top level, first the value of RAT will be
     printed, followed by a linefeed, followed by a 0 which is the
     value of the function and followed by a linefeed and the next
     prompt.  (If the command is terminated by a `$', e.g.,
     `print(RAT)$', The last 0 will not be printed. )

   * Formatted outputs are not currently supported.  If one wishes to
     output multiple objects by a single `print()' command, use list
     like `[OBJ1,...]', which is not so beautiful, but convenient to
     minimize programming efforts.

     [8] def cat(L) { while ( L != [] ) { print(car(L),0); L = cdr(L);}
     print(""); }
     [9] cat([xyz,123,"gahaha"])$
     xyz123gahaha

