@@ -1,135 +1,135 @@ -\section{Input and Output} - -\begin{Command}{IN} -\index{input} -The \name{in} command takes a list of file names and inputs each file into -the system. -\begin{Syntax} -\name{in} \meta{filename}\{,\meta{filename}\}\optional -\end{Syntax} - -\meta{filename} must be in the current directory, or be a valid pathname. -If the file name is not an identifier, double quote marks (\name{"}) are -needed around the file name. - -\begin{Comments} -A message is given if the file cannot be found, or has a mistake -in it. - -Ending the command with a semicolon causes the file to be echoed to the -screen; ending it with a dollar sign does not echo the file. If you want -some but not all of a file echoed, turn the switch \nameref{echo} on or off -in the file. - -An efficient way to develop procedures in REDUCE is to write them into a file -using a system editor of your choice, and then input the -files into an active REDUCE session. REDUCE reparses the procedure as -it takes information from the file, overwriting the previous procedure -definition. When it accepts the procedure, it echoes its name to the screen. -Data can also be input to the system from files. - -Files to be read in should always end in \nameref{end}\name{;} to avoid -end-of-file problems. Note that this is an additional \name{end;} to any -ending procedures in the file. -\end{Comments} -\end{Command} - - -\begin{Command}{INPUT} -\index{interactive} -The \name{input} command returns the input expression to the REDUCE numbered -prompt that is its argument. -\begin{Syntax} -\name{input}\(\meta{number}\) or \name{input} \meta{number} - -\end{Syntax} - -\meta{number} must be between 1 and the current REDUCE prompt number. - -%%%\begin{Examples} -%%%\explanation{(In the following examples, unlike most others, the numbered -%%%prompt is shown.)} -%%%\end{Examples} -\begin{Comments} -An expression brought back by \name{input} can be reexecuted with new -values or switch settings, or used as an argument in another expression. -The command \nameref{ws} brings back the results of a numbered REDUCE -statement. Two lists contain every input and every output statement since -the beginning of the session. If your session is very long, storage space -begins to fill up with these expressions, so it is a good idea to end the -session once in a while, saving needed expressions to files with the -\nameref{saveas} and \nameref{out} commands. -%%% You can also clear the history lists with the \name{forget} command. - -Switch settings and \nameref{let} statements can also be reexecuted by using -\name{input}. - -An error message is given if a number is called for that has not yet been used. -\end{Comments} -\end{Command} - - -\begin{Command}{OUT} -\index{output}\index{open} -The \name{out} command directs output to the filename that is its argument, -until another \name{out} changes the output file, or \nameref{shut} closes it. -\begin{Syntax} -\name{out} \meta{filename} or \name{out "}\meta{pathname} \name{"} or \name{out t} -\end{Syntax} - -\meta{filename} must be in the current directory, or be a valid complete -file description for your system. If the file name is not -in the current directory, quote marks are needed around the file name. -If the file already exists, a message is printed allowing you to decide -whether to supersede the contents of the file with new material. - -\begin{Comments} -To restore output to the terminal, type \name{out t}, or \nameref{shut} the -file. When you use \name{out t}, the file remains available, and if you -open it again (with another \name{out}), new material is appended rather -than overwriting. - -To write a file using \name{out} that can be input at a later time, the -switch \nameref{nat} must be turned off, so that the standard linear form -is saved that can be read in by \nameref{in}. If \name{nat} is on, exponents -are printed on the line above the expression, which causes trouble -when REDUCE tries to read the file. - -There is a slight complication if you are using the \name{out} command from -inside a file to create another file. The \nameref{echo} switch is normally -off at the top-level and on while reading files (so you can see what is -being read in). If you create a file using \name{out} at the top-level, -the result lines are printed into the file as you want them. But if you -create such a file from inside a file, the \name{echo} switch is on, and -every line is echoed, first as you typed it, then as REDUCE parsed it, and -then once more for the file. Therefore, when you create a file {\it from} -a file, you need to turn \name{echo} off explicitly before the \name{out} -command, and turn it back on when you \name{shut} the created file, so your -executing file echoes as it should. This behavior also means that as you -watch the file execute, you cannot see the lines that are being put into -the \name{out} file. As soon as you turn \name{echo} on, you can see -output again. -\end{Comments} -\end{Command} - - -\begin{Command}{SHUT} -\index{output}\index{close} -The \name{shut} command closes output files. -\begin{Syntax} -\name{shut} \meta{filename}\{,\meta{filename}\}\optional -\end{Syntax} - -\meta{filename} must have been a file opened by \nameref{out}. - -\begin{Comments} -A file that has been opened by \nameref{out} must be \name{shut} before it is -brought in by \nameref{in}. Files that have been opened by \name{out} should -always be \name{shut} before the end of the REDUCE session, to avoid either -loss of information or the printing of extraneous information into the file. -In most systems, terminating a session by \nameref{bye} closes all open -output files. -\end{Comments} -\end{Command} - - +\section{Input and Output} + +\begin{Command}{IN} +\index{input} +The \name{in} command takes a list of file names and inputs each file into +the system. +\begin{Syntax} +\name{in} \meta{filename}\{,\meta{filename}\}\optional +\end{Syntax} + +\meta{filename} must be in the current directory, or be a valid pathname. +If the file name is not an identifier, double quote marks (\name{"}) are +needed around the file name. + +\begin{Comments} +A message is given if the file cannot be found, or has a mistake +in it. + +Ending the command with a semicolon causes the file to be echoed to the +screen; ending it with a dollar sign does not echo the file. If you want +some but not all of a file echoed, turn the switch \nameref{echo} on or off +in the file. + +An efficient way to develop procedures in REDUCE is to write them into a file +using a system editor of your choice, and then input the +files into an active REDUCE session. REDUCE reparses the procedure as +it takes information from the file, overwriting the previous procedure +definition. When it accepts the procedure, it echoes its name to the screen. +Data can also be input to the system from files. + +Files to be read in should always end in \nameref{end}\name{;} to avoid +end-of-file problems. Note that this is an additional \name{end;} to any +ending procedures in the file. +\end{Comments} +\end{Command} + + +\begin{Command}{INPUT} +\index{interactive} +The \name{input} command returns the input expression to the REDUCE numbered +prompt that is its argument. +\begin{Syntax} +\name{input}\(\meta{number}\) or \name{input} \meta{number} + +\end{Syntax} + +\meta{number} must be between 1 and the current REDUCE prompt number. + +%%%\begin{Examples} +%%%\explanation{(In the following examples, unlike most others, the numbered +%%%prompt is shown.)} +%%%\end{Examples} +\begin{Comments} +An expression brought back by \name{input} can be reexecuted with new +values or switch settings, or used as an argument in another expression. +The command \nameref{ws} brings back the results of a numbered REDUCE +statement. Two lists contain every input and every output statement since +the beginning of the session. If your session is very long, storage space +begins to fill up with these expressions, so it is a good idea to end the +session once in a while, saving needed expressions to files with the +\nameref{saveas} and \nameref{out} commands. +%%% You can also clear the history lists with the \name{forget} command. + +Switch settings and \nameref{let} statements can also be reexecuted by using +\name{input}. + +An error message is given if a number is called for that has not yet been used. +\end{Comments} +\end{Command} + + +\begin{Command}{OUT} +\index{output}\index{open} +The \name{out} command directs output to the filename that is its argument, +until another \name{out} changes the output file, or \nameref{shut} closes it. +\begin{Syntax} +\name{out} \meta{filename} or \name{out "}\meta{pathname} \name{"} or \name{out t} +\end{Syntax} + +\meta{filename} must be in the current directory, or be a valid complete +file description for your system. If the file name is not +in the current directory, quote marks are needed around the file name. +If the file already exists, a message is printed allowing you to decide +whether to supersede the contents of the file with new material. + +\begin{Comments} +To restore output to the terminal, type \name{out t}, or \nameref{shut} the +file. When you use \name{out t}, the file remains available, and if you +open it again (with another \name{out}), new material is appended rather +than overwriting. + +To write a file using \name{out} that can be input at a later time, the +switch \nameref{nat} must be turned off, so that the standard linear form +is saved that can be read in by \nameref{in}. If \name{nat} is on, exponents +are printed on the line above the expression, which causes trouble +when REDUCE tries to read the file. + +There is a slight complication if you are using the \name{out} command from +inside a file to create another file. The \nameref{echo} switch is normally +off at the top-level and on while reading files (so you can see what is +being read in). If you create a file using \name{out} at the top-level, +the result lines are printed into the file as you want them. But if you +create such a file from inside a file, the \name{echo} switch is on, and +every line is echoed, first as you typed it, then as REDUCE parsed it, and +then once more for the file. Therefore, when you create a file {\it from} +a file, you need to turn \name{echo} off explicitly before the \name{out} +command, and turn it back on when you \name{shut} the created file, so your +executing file echoes as it should. This behavior also means that as you +watch the file execute, you cannot see the lines that are being put into +the \name{out} file. As soon as you turn \name{echo} on, you can see +output again. +\end{Comments} +\end{Command} + + +\begin{Command}{SHUT} +\index{output}\index{close} +The \name{shut} command closes output files. +\begin{Syntax} +\name{shut} \meta{filename}\{,\meta{filename}\}\optional +\end{Syntax} + +\meta{filename} must have been a file opened by \nameref{out}. + +\begin{Comments} +A file that has been opened by \nameref{out} must be \name{shut} before it is +brought in by \nameref{in}. Files that have been opened by \name{out} should +always be \name{shut} before the end of the REDUCE session, to avoid either +loss of information or the printing of extraneous information into the file. +In most systems, terminating a session by \nameref{bye} closes all open +output files. +\end{Comments} +\end{Command} + +