If the stream is a terminal, the tyo/2 output goes directly to the stream, whereas the output from put/2 is buffered first, and is only output to the stream when the output is flushed (e.g. explicitly using flush/1).
If the stream is not a terminal, tyo/2 behaves like put/2.
ASCII codes for the non-printable characters (i.e. control characters) are also acceptable.
Success: [eclipse]: set_stream(screen,output), > tyo(screen,91),tyo(screen,97), > tyo(screen,93). [a] yes. [eclipse]: put(screen, 0'a), tyo(screen, 0'b), > put(screen, 0'c), tyo(screen, 0'd). bdac yes. [eclipse]: write(screen,i), tyo(screen, 0'h). hi yes. Error: tyo(Stream,A). (Error 4). tyo(output,a). (Error 5). tyo(98.0,output). (Error 5). tyo("string", A). (Error 5). tyo(11,97). (Error 192). tyo(atom,97). (Error 193).