close(X) closes the stream corresponding to X.
If X is a stream object, and if the corresponding stream is
open, it will be closed; otherwise, close/1 succeeds
immediately, taking no action.
If X is a file specification, the corresponding
stream will be closed. It is only closed if the file was opened by
see/1 or tell/1. In the example
see(foo),
...
close(foo)
foo will be closed. However, in the example
open(foo, read, S),
...
close(foo)
an exception will be raised and foo will not be closed.
told/0 closes the current output stream. The current output stream is
then set to be user_output; that is, the user's terminal.
seen/0 closes the current input stream. The current input stream is
then set to be user_input; that is, the user's terminal.