Variables whose values must be streams are sometimes called stream variables.
Certain stream variables are defined by this specification to be the proper source of input or output in various situations where no specific stream has been specified instead. A complete list of such standardized stream variables appears in the next figure. The consequences are undefined if at any time the value of any of these variables is not an open stream.
Figure 21-6. Standardized Stream Variables
Glossary Term Variable Name
debug I/O *debug-io*
error output *error-output*
query I/O *query-io*
standard input *standard-input*
standard output *standard-output*
terminal I/O *terminal-io*
trace output *trace-output*
Note that, by convention, standardized stream variables have names ending in ``-input*'' if they must be input streams, ending in ``-output*'' if they must be output streams, or ending in ``-io*'' if they must be bidirectional streams.
User programs may assign or bind any standardized stream variable except *terminal-io*.