The standard I/O streams (input, output, and error)
are hookable, i.e. the streams can be redefined by the user by
calling SP_set_user_stream_hook()
and/or
SP_set_user_stream_post_hook()
.
These hook functions must be called before SP_initialize()
(see Initializing the Prolog Engine).
In custom built systems, they may be called in
the hook function SU_initialize()
. See The Application Builder.