Scheme contains some other data types. One is the
. We have already seen many procedures, eg,
. In reality, these are
variables holding the procedure values, which are
themselves not visible as are numbers or characters:
The procedures we have seen thus far are primitive
procedures, with standard global variables holding them.
Users can create additional procedure values.
Yet another data type is the port. A port is the
conduit through which input and output is performed.
Ports are usually associated with files and consoles.
In our ``Hello, World!'' program, we used the
procedure display to write a string to the console.
display can take two arguments, one the value to be
displayed, and the other the output port it should be
In our program, display's second argument was
implicit. The default output port used is the standard
output port. We can get the current standard output
port via the procedure-call (current-output-port).
We could have been more explicit and written
(display "Hello, World!" (current-output-port))