StreamId is an existing symbolic stream alias or a stream handle. If Stream is a variable, it will get bound to a stream handle corresponding to StreamId. If Stream is a symbolic stream alias or a handle, then the predicate succeeds iff StreamId and Stream denote the same stream.
The predefined symbolic system stream names are:
input, output, error, warning_output, log_output, stdin, stdout, stderr, null
Success:
      ?- get_stream(input,S).
      S = $&(stream,0)
      Yes (0.00s cpu)
      ?- set_stream(a,input), get_stream(input,a), get_stream(a,input).
      Yes (0.00s cpu)
Fail:
      set_stream(b,input), get_stream(b,output).
Error:
      get_stream(Id, S).      (Error 4).
      get_stream(1.0,S).      (Error 5).
      get_stream(3, S).       (Error 5).
      get_stream(blah,S).     (Error 193). % does not exist