REDUCE

10.8 About I/O Channels

(rds CHANNEL:io-channel, nil): io-channel expr
Rds sets in* to the value of its argument, and returns the previous value of in*. In addition, if specialrdsaction* is non-nil, it should be a function of 2 arguments, which is called with the old channel as its first argument and the new channel as its second argument. (rds nil) does the same as (rds stdin*).

(wrs CHANNEL:io-channel, nil): io-channel expr
Wrs sets out* to the value of its argument and returns the previous value of out*. In addition, if specialwrsaction* is non-nil, it should be a function of 2 arguments, which is called with the old channel as its first argument and the new channel as its second argument. (wrs nil) does the same as (wrs stdout*).
Global variables containing information about channels are listed below.

in* = [Initially: 0] global
   
Contains the currently selected input channel. May be set or rebound by the user. This is changed by the function rds.

out* = [Initially: 1] global
   
Contains the currently selected output channel. May be set or rebound by the user. This is changed by the function wrs.

stdin* = [Initially: 0] global
   
The standard input channel (but not in the Unix sense of standard input). Channel 0 is ordinarily the terminal and this variable is not intended to be set or rebound.

stdout* = [Initially: 1] global
   
The standard output channel. Like channel 0, channel 1 is ordinarily always the terminal, and this variable is not intended to be set or rebound.

breakin* = [Initially: nil] global
   
The channel from which the break loop gets its input. It has been set to default to stdin*, but may have to be changed on some systems with buffered-IO.

breakout* = [Initially: nil] global
   
The channel to which the break loop sends its output. It has been set to default to stdout*, but may have to be changed on some systems with buffered-IO.

errout* = [Initially: 1] global
   
The channel used by the errorprintf.

specialrdsaction* = [Initially: nil] global
   

specialwrsaction* = [Initially: nil] global