ReadTerm3
Implements ISO's read_term/3: like ReadTerm2, but reading from the stream identified by the first argument (an alias or $stream(...) term) instead of the current input.
Throws
if the first argument is unbound.
if it does not identify an open channel.
(read_option) if an element of the third argument is not one of the recognized option shapes.
if the third argument is bound but not a list.
if the stream's next term is malformed Prolog syntax.